我有两台运行 Ubuntu 13.04 和 PostgreSQL 9.2 的云服务器。
我主要使用这篇博文来帮助我进行设置。但是,为了将初始数据库转储到从属服务器,我使用pg_start_backup/pg_stop_backup
了这篇其他博客文章。我也阅读了文档和 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
谢谢!布拉德
答案1
您无法复制 之后的最后一个 WAL 存档pg_stop_backup
。如果您要使用此方法,则需要设置 WAL 存档或手动复制 WAL。
在 9.2 及以上版本中,使用 进行一次性复制要容易得多pg_basebackup --xlog-method=stream
。这将通过复制协议复制事务日志以及基础备份本身,并自动处理pg_start_backup
和pg_stop_backup
。
标题中提到的“不完整的启动包”错误可能不相关,并且是由于尝试从具有 的客户端与不支持 SSL 的服务器建立 SSL 连接而导致的sslmode=prefer
。