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

Как мне исправить проблему, вызывающую сообщение журнала «неполный стартовый пакет» при попытке реализовать репликацию в Postgresql?

У меня есть два облачных сервера под управлением Ubuntu 13.04 и PostgreSQL 9.2.

Я в основном использовал это сообщение в блоге чтобы помочь мне в настройке. Однако, чтобы сделать начальный дамп базы данных на подчиненное устройство, я использую pg_start_backup/pg_stop_backup стратегия, используемая в это другое сообщение в блоге. Я также прочитал docs и postgres wiki. Я столкнулся с несколькими проблемами, которые мне удалось решить, но я не могу справиться с этой ужасной ошибкой «база данных запускается».

Я не уверен, вижу ли:

cp: cannot stat /var/lib/postgresql/9.2/archive/00000001000000000000003A':
No such file or directory

после consistent recover state reached это нормально или первый признак проблемы. Поиск, который я проделал the database is starting up и incomplete startup packet сообщает мне, что что-то посылает подчиненному устройству пустые пакеты TCP. Единственное, что знает о подчиненном устройстве, - это мастер, поэтому я не уверен, почему он отправляет пустые пакеты ...

Кто-нибудь работал с этим и есть идеи, что может пойти не так?

Журнал postgres на ведомом устройстве выглядит так:

2013-08-26 13:01:38 CDT LOG:  entering standby mode
2013-08-26 13:01:38 CDT LOG:  restored log file "000000010000000000000039" from archive
2013-08-26 13:01:38 CDT LOG:  incomplete startup packet
2013-08-26 13:01:39 CDT LOG:  redo starts at 0/39000020
2013-08-26 13:01:39 CDT LOG:  consistent recovery state reached at 0/390000E0
cp: cannot stat '/var/lib/postgresql/9.2/archive/00000001000000000000003A': No such file or directory
2013-08-26 13:01:39 CDT LOG:  streaming replication successfully connected to primary
2013-08-26 13:01:39 CDT FATAL:  the database system is starting up
2013-08-26 13:01:39 CDT FATAL:  the database system is starting up
2013-08-26 13:01:40 CDT FATAL:  the database system is starting up
2013-08-26 13:01:40 CDT FATAL:  the database system is starting up
2013-08-26 13:01:41 CDT FATAL:  the database system is starting up
2013-08-26 13:01:42 CDT FATAL:  the database system is starting up
2013-08-26 13:01:42 CDT FATAL:  the database system is starting up
2013-08-26 13:01:43 CDT FATAL:  the database system is starting up
2013-08-26 13:01:43 CDT FATAL:  the database system is starting up
2013-08-26 13:01:44 CDT FATAL:  the database system is starting up
2013-08-26 13:01:44 CDT FATAL:  the database system is starting up
2013-08-26 13:01:44 CDT LOG:  incomplete startup packet
2013-08-26 13:03:27 CDT FATAL:  the database system is starting up
2013-08-26 13:03:27 CDT FATAL:  the database system is starting up
2013-08-26 13:03:30 CDT FATAL:  the database system is starting up
2013-08-26 13:03:30 CDT FATAL:  the database system is starting up

Спасибо! Брэд

Вам не удается скопировать последний архив (ы) WAL после pg_stop_backup. Вам необходимо настроить архивирование WAL или вручную скопировать WAL, если вы собираетесь использовать этот метод.

В версии 9.2 и выше гораздо проще делать разовые копии с помощью pg_basebackup --xlog-method=stream. Это копирует журналы транзакций по протоколу репликации, а также саму базовую резервную копию и заботится о pg_start_backup и pg_stop_backup автоматически.

Видеть в pg_basebackup руководство.

Ошибки «неполный стартовый пакет», упомянутые в заголовке, скорее всего, не связаны и вызваны попытками установить SSL-соединения с сервером, не поддерживающим SSL, от клиентов, у которых есть sslmode=prefer.