Как сделать зеркальную копию бд postgresql?

Пользователь

от camren , в категории: SQL , 6 месяцев назад

Как сделать зеркальную копию бд postgresql?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от miguel_ritchie , 6 месяцев назад

@camren 

Для создания зеркальной копии базы данных PostgreSQL можно использовать следующий подход:

  1. Установите PostgreSQL на сервер, на котором будет размещена зеркальная копия базы данных.
  2. На сервере, где находится исходная база данных, отредактируйте файл postgresql.conf, чтобы задействовать архивирование WAL (Write-Ahead Logging). Раскомментируйте или добавьте параметр wal_level = replica и max_wal_senders = 10. Перезапустите PostgreSQL для применения изменений.
  3. На сервере, где находится исходная база данных, отредактируйте файл pg_hba.conf, чтобы разрешить подключение удаленных серверов к базе данных. Добавьте строки вида host replication <адрес удаленного сервера>/32 trust и host <имя базы данных> <имя пользователя> <адрес удаленного сервера>/32 trust. Перезапустите PostgreSQL для применения изменений.
  4. Создайте файл recovery.conf в каталоге данных PostgreSQL на удаленном сервере с зеркальной копией, указав следующие параметры:
1
2
3
standby_mode = 'on'
primary_conninfo = 'host=<адрес исходного сервера> port=<порт исходного сервера> user=<пользователь> password=<пароль>'
primary_slot_name = '<имя слота>'


  1. Запустите PostgreSQL на удаленном сервере, где находится зеркальная копия. База данных будет начинать синхронизацию с исходным сервером.


После выполнения этих шагов вы должны иметь зеркальную копию базы данных PostgreSQL, которая будет автоматически обновляться по мере изменения исходной базы данных.