BIHA кластер в PostgreSQL
Работаю с последней версией PostgreSQL 17. Разворачивал кластер BIHA под 1С. Что такое BIHA - и зачем он нужен? BIHA обеспечивает отказоустойчивость и автоматическое переключение роли LEADER на серверах кластера. По аналогии с Patroni, только Patroni - это сторонняя служба, а BIHA - это встроенное расширение в Postgresql Enterprise. Что снижает риски ошибок взаимодействия между сервисом отказоустойчивости и сервисом СУБД. И теперь могу сделать описание рабочего руководства по развертыванию кластера: Этапы инициализации кластера BIHA в postgrespro enterprise 17: 1. На всех нодах кластера создаем файл .pgpass - чтоб пользователь репликации не запрашивал пароль: от имени пользователя postgres echo ':::biha_replication_user:[пароль]>> /var/lib/postgresql/.pgpass chmod 600 /var/lib/postgresql/.pgpass 2. На ноде лидера чистим директорию с кластером баз postgresql и инициализируем кластер BIHA с нуля: sudo rm -rf /var/lib/pgpro/ent-17/data/ от имени пользователя postgres инициализируем кластер BIHA: /opt/pgpro/ent-17/bin/bihactl init --biha-node-id=1 --host=[ip адрес лидера] --port=5432 --biha-port=5433 --nquorum=1 --pgdata=/var/lib/pgpro/ent-17/data/ ВАЖНО! Чтобы лидер при инициализации сразу не ушел в статус READ ONLY - указываем параметр: --nquorum = 1. Чтобы лидер не переходил в статус "только чтение" из-за не целостности кворума. При инициализации BIHA кластера от пользователя postgres, меняем директорию root на другую директорию с полным доступом от имени postgres, например в папку tmp: cd /tmp 3. На второй ноде чистим директорию с кластером баз postgresql и инициализируем кластер баз BIHA с нуля: sudo rm -rf /var/lib/pgpro/ent-17/data/ от имени пользователя postgres инициализируем кластер BIHA: /opt/pgpro/ent-17/bin/bihactl add --biha-node-id=2 --host=[ip адрес слейва] --port=5432 --biha-port=5433 --use-leader "host=[ip адрес лидера] port=5432 biha-port=5433" --pgdata=/var/lib/pgpro/ent-17/data/ Сохрани, чтобы не забыть😉 Другие секреты в работе postgresql, можно посмотреть тут: https://t.me/+YG6JoGrHtY8xMjli