ошибка доставки журнала postgres - PullRequest
1 голос
/ 03 февраля 2012

Я выполнял доставку журналов с postgres 9.0.4 (redhat) до 9.0.6 (fedoara14), но получил ошибку

HINT:  If this has occurred more than once some data might be corrupted and you might need to choose an earlier recovery target.
LOG:  entering standby mode
LOG:  restored log file "000000010000000200000065" from archive
LOG:  record with zero length at 2/65000100
WARNING:  WAL was generated with wal_level=minimal, data may be missing
HINT:  This happens if you temporarily set wal_level=minimal without taking a new base backup.
FATAL:  hot standby is not possible because wal_level was not set to "hot_standby" on the master server
HINT:  Either set wal_level to "hot_standby" on the master, or turn off hot_standby here.
LOG:  startup process (PID 9438) exited with exit code 1
LOG:  aborting startup due to startup process failure

ls ../archive/
000000010000000200000051                  000000010000000200000059                  00000001000000020000005F.00000020.backup
000000010000000200000052                  000000010000000200000059.00000020.backup  000000010000000200000060
000000010000000200000053                  00000001000000020000005A                  000000010000000200000061
000000010000000200000054                  00000001000000020000005B                  000000010000000200000061.00000020.backup
000000010000000200000055                  00000001000000020000005B.00000020.backup  000000010000000200000062
000000010000000200000055.00000020.backup  00000001000000020000005C                  000000010000000200000063
000000010000000200000056                  00000001000000020000005D                  000000010000000200000064
000000010000000200000057                  00000001000000020000005E                  000000010000000200000065
000000010000000200000058                  00000001000000020000005F         


ls pg_xlog
000000010000000200000061.00000020.backup  000000010000000200000067  00000001000000020000006A  archive_status
000000010000000200000065                  000000010000000200000068  00000001000000020000006B  RECOVERYXLOG
000000010000000200000066                  000000010000000200000069  00000001000000020000006C


cat recovery.conf 
### RECOVERY 
standby_mode = 'on'
restore_command = 'cp -i  /var/lib/pgsql/9.0/archive/%f %p'

при удалении файла recovery.conf из каталога data /и отключил «hot_standby» в файле postgresql.conf, затем я могу запустить postgres и выбрать нужные данные. Вторичный postgres должен запускаться в режиме hot_standby

Может кто-нибудь сказать мне, как избавиться отэтот вопрос !!!

1 Ответ

1 голос
/ 14 апреля 2012

Пожалуйста, отметьте postgresql.conf в вашей основной базе данных. По вашему журналу:

WARNING:  WAL was generated with wal_level=minimal, data may be missing
HINT:  This happens if you temporarily set wal_level=minimal without taking a new base backup.
FATAL:  hot standby is not possible because wal_level was not set to "hot_standby" on the master server
HINT:  Either set wal_level to "hot_standby" on the master, or turn off hot_standby here.

Сообщение довольно информативное. Вам следует либо использовать wal_level = hot_standby в базе данных master (рассмотрите возможность полного резервного копирования после включения), либо используйте hot_standby = off в режиме ожидания (это изменение не требует дополнительных манипуляций).

Фактически, для поддержания режима ожидания вам необходим уровень WAL archive или hot_standby, согласно документации .

Если вы активировали резервный режим, удалив recovery.conf и запустив кластер, вам следует заново создать резервный ресурс из последней полной резервной копии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...