2015-07-23 1 views
0

im пытается настроить поточную репликацию, но по какой-то причине, когда я обновляю базу данных на главном компьютере, изменения не отражаются на резервном сервере. UNTIL я перезапускаю службу postgresql на главном сервере. (я вижу новые файлы xlog на главном сервере, но они не синхронизируются с резервным сервером). когда я перезапускаю службу на главном компьютере, я наконец вижу новые файлы, добавленные в мою общую папку wal_archive.postgresql потоковая репликация - непрерывное архивирование?

Единственный способ, с помощью которого я могу синхронизировать ее автоматически, - это установить файл archive_timeout.

Master:

wal_level = 'hot_standby' # minimal, archive, hot_standby, or logical 
archive_mode = on   # allows archiving to be done 
          # (change requires restart) 
archive_command = 'copy "%p" "\\\\VBOXSVR\\wal_archive\\%f"' 
max_wal_senders = 3   # max number of walsender processes 
          # (change requires restart) 
wal_keep_segments = 10  # in logfile segments, 16MB each; 0 disables 

pb_hba.conf

host replication postgres slaveip/32  trust 

ответ

1

Это звучит, как вы используете репликацию архива на основе без потоковой передачи. Так что это только тиражирование, когда архив WAL завершен и открыт новый, который бывает:

  • Когда сервер делает контрольную точку перед чистой остановкой
  • Когда архив WAL заполнен активностью записи и новый нужен
  • в archive_timeout время

Если вы хотите непрерывной репликации необходимо использовать репликацию потокового. См. the manual. Это включает настройку строки подключения в вашем нижнем сервере recovery.conf, чтобы он мог напрямую подключаться к ведущему ведущему, чтобы получать новые записи в режиме реального времени.

Вы должны оставить включенную репликацию на основе архива, потому что это позволяет восстановить реплику, если она некоторое время отключена. Это также полезно для восстановления в определенный момент времени.

 Смежные вопросы

  • Нет связанных вопросов^_^