Подготовка и настройка бота (офиц)
(Орга нужна?)

Пишем чат-бота для мессенджера MAX на Python (Хабр)

Создать задачу в Трекере по API: 1. Просто 2. С описанием и вложением В ЯМессенджере: 1. Таки кнопки 2. Команды боту 3. (2-3 Трекера)


НадоРезультатПримечание
По Хабру
Версии ОС и Postgre

ruvds lsb_release -a
24.04 LTS noble

timeweb
select version();
Кстати и на Яндексовых машинах

24.04.3 на 1-й
Установил


22.04.2 на 2-й
Получается для физической репликации наиболее подходящие варианты:
ruvds - > vm20251
timeweb - > vm20251


но вот то, что на Яндексовых доля CPU 20%...
OK, 1-й вариант

Далее работаем в консоли сервера Master.
1. Под аккаунтом postgres необходимо создать пользователя для репликации:
createuser --replication -P rep_user
2. смотрим расположение conf файла:
psql -c 'SHOW config_file;'
etc/postgresql/16/main/postgresql.conf
3.В файл необходимо внести следующие правки:
archive_mode = on
archive_command = 'cp %p /oracle/pg_data/archive/%f'
max_wal_senders = 10
wal_keep_segments = 50
wal_level = replica
wal_log_hints = on
4.внести дополнения в файл pg_hba.conf, добавив имя пользователя для репликаций и IP адрес подчиненного сервера:
5.перезапускаем Postgresql
3.
archive_command - Создал и указал свой /home/pgbackup
wal_keep_segments Вообще не было, добавил, но поставил 16
тю застрял с паролем

16.11.2025 Сменил пароль пользу root ok
очистить каталог main
но не там где конфиг настраивали

etc/postgresql/16/main/postgresql.conf

, а в другом месте

var/lib/postgresql/16/main/

sudo rm -rf /main/*
Запустить тестовый backup на главной машине.
(как потом дальше выяснится - ото ошибка. Надо на реплике запускать)

Не даёт, и вообще как не находит его

вот тут проверить

Проверить файл postgresql.conf на настройки listen_addresses и port. Чтобы PostgreSQL слушал на всех интерфейсах, listen_addresses должен быть установлен на «*».

Ковырял-ковырял,плюнул, снести, заново поставить и попробовать по методу timeweb настроить
Как настроить физическую потоковую репликацию с PostgreSQL на Ubuntu Есть на timeweb чтобы к ним прийти если чо :)
тут попроще чем у OTUS
Шаг 1 Настройка первичной базы данных для принятия подключений

sudo nano /etc/postgresql/16/main/postgresql.conf

listen_addresses и измените ее значение с localhost на IP-адрес первичного сервера

Шаг 2 – Создание специальных прав с разрешениями на репликацию

в psql из под postgres
CREATE ROLE rep_user WITH REPLICATION PASSWORD 'rep_userXXXX' LOGIN;

sudo nano /etc/postgresql/16/main/pg_hba.conf

Добавьте следующую строку в конец файла pg_hba.conf:

host replication test your-replica-IP/32 md5

sudo systemctl restart postgresql@12-main

Шаг 3 – Резервное копирование первичного кластера на реплику

sudo rm -rf /var/lib/postgresql/16/main/*

На реплике! А не на главной. М.б. поэтому ошибка была

sudo -u postgres pg_basebackup -h 194.87.146.200 -p 5432 -U rep_user -D /var/lib/postgresql/16/main/ -Fp -Xs -R

Из под sergsavin запустил

пароль rep_user

ошибка - не пустой каталог

/var/lib/postgresql/16/main/

cd /var/lib/postgresql/16/

sudo -u postgres rm -r main

sudo -u postgres mkdir main

sudo -u postgres chmod 700 main

Шаг 4 Перезапуск и тестирование кластеров

На реплике

sudo systemctl restart postgresql

(из под главного акка)

Да,Бд скопировалась, всё ок

На первичном

SELECT client_addr, state FROM pg_stat_replication;



добавил запись на главной - на реплике появилось. ок!
Логическую репликацию попробовать на неподходящую версию, например, на timeweb
Шардирование


Теория
Репликация - полное копирование БД на такой же сервер.
Основной сервер назовем "Мастер", а дополнительные - "Реплика". Любой из этих серверов будем называть "Нода" (node). Писать мы сможем только в мастер. А реплики будут вытягивать из мастера все изменения (синхронизироваться).
В отличии от репликации, шардирование не дублирует данные, а разделяет их по нодам.

Пример.Давай разложим все наши записи на 4 ноды. Ключом шардирования будет barber_id. Так мы будем уверены, что все записи к одному брадобрею будут физически находиться на одной ноде.
Работающая БД на timeweb

Новая функция к postgres d4ecidcjpr2n6km5u0tu
Пароль:

Имя БД:

Запрос:

БД germany25

Referenced table — это главная таблица, а referencing table — зависимая, подчинённая таблица,