Назад | Перейти на главную страницу

Проблема с созданием реплики PostgreSQL 9.5

Я пытаюсь создать реплику горячего резервирования для мастера PostgreSQL 9.5.

Основной процесс, который я использовал, - это запустить резервное копирование на главном сервере:

SELECT pg_start_backup('label', true)

Затем на ведомом устройстве я запускаю pg_basebackup:

pg_basebackup -h <master ip> -D /data/pgsql/9.5/data -U replicator -v -P  --xlog-method=stream

По завершении я выполняю команду, чтобы остановить резервное копирование на главном сервере:

SELECT pg_stop_backup()

На этом этапе я получил в STDOUT следующее:

NOTICE:  pg_stop_backup cleanup done, waiting for required WAL segments to be archived
WARNING:  pg_stop_backup still waiting for all required WAL segments to be archived (60 seconds elapsed)
HINT:  Check that your archive_command is executing properly.  pg_stop_backup can be canceled safely, but the database backup will not be usable without all the WAL segments.

Это продолжается и не выходит.

Команда архивирования на главном устройстве установлена ​​на:

rsync -a %p <replica ip>:/data/wal-archive/%f

Изначально это не работало, так как необходимо было принять ключ сервера. Как только я сделал это вручную, запустился rsync, и я увидел большое скопление файлов (пока ~ 15 ГБ) в / data / wal-archive.

Это БД на 20 ТБ, поэтому я действительно не хочу снова начинать этот процесс, что-то испортило.

Безопасно ли просто выйти из терминала, выдав ПРЕДУПРЕЖДЕНИЯ? Я читал в других сообщениях, что archive_mode должен быть включен только во время процесса потоковой передачи БД в реплику для целей настройки реплики, и кроме того, это не требуется.

В таком случае могу я просто нажать CTRL-C на терминале и приступить к настройке реплики?

Могу ли я затем отключить archive_mode на мастере?

Да, CTRL-C безопасно вне pg_stop_backup ().

Создание файлов в каталоге / data / wal_archive происходит из команды archive_command на главном устройстве.

После запуска службы postgres на ведомом устройстве эти «журналы» потребляются (т. Е. Записываются в базу данных на ведомом устройстве), а затем удаляются.