FATAL: не удалось подключиться к основному серверу: ожидался запрос аутентификации от сервера, но получено S - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь создать сценарий репликации главного подчиненного устройства на сервере Postgress. Я создал мастер с портом 5300, а подчиненный - 5500, вот мой postgresql .conf.

listen_addresses = '*'
port              = 5300
wal_level         = hot_standby
max_wal_senders   = 3
wal_keep_segments = 8
synchronous_standby_names = 'slave1'

Я создал pg_hba.conf со следующими конфигурациями.

# "local" is for Unix domain socket connections only
local   all             all                                        trust
# IPv4 local connections:
host    all             all                127.0.0.1/32            trust
# IPv6 local connections:
host    all             all                ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                        trust
host    replication     all                127.0.0.1/32            trust
host    replication     all                ::1/128                 trust
host    replication     <database-user>    127.0.0.1/32            md5
host    replication     <database-user>    172.16.217.185/32       md5
host    replication     <database-user>    172.16.217.187/32       md5

Затем я создаю кластер с помощью следующей команды.

initdb

, а затем запускаю свой главный кластер с помощью следующей команды.

bin/pg_ctl -w -l master/logs -o "-p 5300" start

, и эта команда работает нормально. затем я создаю подчиненную папку и копирую в нее все основные данные. и прошиваем эту папку на ведомую сторону. затем после настройки я создал recovary.conf.

и поместил в него следующее.

standby_mode = 'on'
primary_conninfo ='host=172.16.217.185 port=5300 user=<db_user> password=<Password> application_name=slave1'

затем я запускаю свой ведомый.

pg_ctl -w -l slave/logs -o "-p 5500" start

, который дает мне ошибка, когда я вижу подчиненное устройство / журналы. Я вижу ошибку, которой поделился выше.

FATAL: не удалось подключиться к основному серверу: ожидался запрос аутентификации от сервера, но получен S и помню, что я запускаю весь сценарий в VMFusion.

и еще кое-что, что я попробовал с помощью брандмауэра enable / disable / allow, все они дают мне то же самое, так что это не брандмауэр, вызывающий эту ошибку.

Спасибо Advance.

Ответы [ 2 ]

0 голосов
/ 26 августа 2020

Я нашел решение. На самом деле эта ошибка возникает, когда на одном компьютере работают более одного кластера, и когда вы запускаете следующую команду.

pg_ctl -w -l slave/logs -o "-p 5500" start

Сервер запутался в том, какой кластер должен отвечать. Я решил эту проблему, остановив все кластеры и запустив проблемный.

0 голосов
/ 25 августа 2020

Убедитесь, что у вас есть архив с именем recovery.conf в каталоге / data Slave, файл должен содержать:

standby_mode = 'on'

primary_conninfo = 'host=192.168.x.x port=5432 user=rep password=xxxxxx'

trigger_file = '/tmp/postgresql.trigger.5432'

, где 192.168.xx вам нужно изменить с помощью вашего основного IP-адреса и, конечно же, пароль о репутации пользователя

...