PostgreSQL搭建复制启动报 invalid record length at
Contents
信息
╭─sky@sky-linux /ihome/db/postgresql
╰─➤ ./current/bin/pg_ctl -D slave-data start 1 ↵
server starting
╭─sky@sky-linux /ihome/db/postgresql
╰─➤ LOG: database system was shut down in recovery at 2016-08-11 10:57:31 CST
LOG: entering standby mode
LOG: consistent recovery state reached at 0/15000300
LOG: redo starts at 0/15000300
LOG: invalid record length at 0/150003E0
LOG: database system is ready to accept read only connections
LOG: started streaming WAL from primary at 0/15000000 on timeline 1
...
问题
本想搭建复制环境的, 按 手把手教你配置流复制 ,slave启动时,报这个信息.
后来看到PostgreSQL官方有个官方回复.
原因
刚启动后, standby尝试读取并重放存放在standby的WAL文件, 然后它发现了无效的WAL记录,换句话说, 它不再能够坐本地读取WAL记录了, 它开始复制然后尝试从master里读取WAL文件。所以, 以上的日志信息
invalid record...
意味着在standby有无效的WAL记录,这会触发复制。从master复制流中获取有效的WAL记录后,你就不再需要担心这个日志信息了.