5

我最近在单个主/从之间配置了 PostgreSQL 9.3 热备用复制。

我今天再次检查了我的备用服务器,它看起来无法在重新启动时完成并退出恢复模式:

2014-03-25 22:36:07 UTC LOG:  entering standby mode
2014-03-25 22:36:07 UTC LOG:  incomplete startup packet
2014-03-25 22:36:07 UTC LOG:  redo starts at 7/E1091840
2014-03-25 22:36:07 UTC LOG:  consistent recovery state reached at 7/E10929C8
2014-03-25 22:36:07 UTC LOG:  record with zero length at 7/E10929C8
2014-03-25 22:36:07 UTC LOG:  started streaming WAL from primary at 7/E1000000 on timeline 1
2014-03-25 22:36:08 UTC FATAL:  the database system is starting up
2014-03-25 22:36:08 UTC FATAL:  the database system is starting up
2014-03-25 22:36:09 UTC FATAL:  the database system is starting up
... more ...
2014-03-25 22:36:13 UTC LOG:  incomplete startup packet

我尝试手动将 WAL 记录从主服务器复制到从服务器,我得到了同样的错误,所以我想知道主服务器上的 WAL 记录是否有问题?

4

2 回答 2

2

我解决了同样的问题

 psql -c "select pg_start_backup('initial_backup');"
 rsync -cva --inplace --exclude=*pg_xlog* /var/lib/postgresql/9.1/main/ slave_IP_address:/var/lib/postgresql/9.1/main/
 psql -c "select pg_stop_backup();"

这是一个很好的教程

于 2014-07-02T03:44:33.040 回答
2

我对 PostgreSQL 9.4 也有同样的问题

原因是在我的系统中,postgresql.conf 和 pg_hba.conf 位于 /etc/postgresql 中,因此在 pg_startbackup 期间它们没有从 master 进入待机状态

结果我在master上有wal_level = hot_standby,在standby上有默认wal_level = minimum。这会在日志中生成相同的图片。

我的决定是在待机状态下修复 postgresql.conf。在那之后待机开始确定并说它已准备好接受只读连接。

于 2017-01-27T17:49:57.237 回答