- это работает;
на обоих включена архивация wal-ов:
wal_level = archive
archive_mode = on
archive_command = 'cp %p /var/lib/pgsql/archive/%f'
archive_timeout = 60'
на слейве есть конфиг recovery.conf:
standby_mode = 'on'
recovery_target_timeline = 'latest'
primary_conninfo = 'user=replication host=192.168.122.102 port=5432 sslmode=prefer sslcompression=0 krbsrvname=postgres target_session_attrs=any '
trigger_file = '/tmp/postgresql.trigger'
restore_command = 'rsync -a 192.168.122.102:/var/lib/pgsql/archive/%f "%p"'
делаю на слейве
touch /tmp/postgresql.trigger
- слейв становится мастером - это работает
захожу на бывший мастер останавливаю бд и подкладываю такой же файл recovery.conf тока с дркгим ип адресом.
запускаю постгрес и он не запускается, потомучто требует wal-ы, которых еще нет на мастере - вот тут непонятно, не работает.
что я делаю не так?
Ты же сам всё расписал. Нужны WAL
WAL-ы -- часть БД, их надо перемещать вместе с другими файлмаи БД.
Может, тут timelines разошлись (Вы же не написали, что он там требует, а по истории похоже)? А вообще — https://t.me/pgsql
Обсуждают сегодня