我已经在流复制中设置了一个postgreSQL集群,其中有一个主服务器和两个从服务器。
我创建了一些数据库,我看到它被复制到奴隶身上。然后,我执行了一个COPY命令来导入一个大型数据集(3GB)。当COPY命令以message:COPY 43928933
结束时,我观察到一种奇怪的行为。从csv导入的数据不被复制到从服务器,流复制不再工作。我在主节点上创建了一个没有复制到从节点上的数据库。
我看到一个奴隶的日志
tail -f 100 /var/log/postgresql/postgresql-9.4-main.log
我看到这个:
2009-06-27 14:12:48.919 UTC 13099日志:在时间线1 2019-06-27 14:48.919 UTC 13099上,从0/20000000开始的流式WAL日志:无法从WAL流接收数据:错误:请求的WAL段000000010000000000000020已被删除209-06-2714:12:53.931 UTC 13104日志:在时间线1 2019-06-27 14:12:53.931 UTC 13104在0/20000000启动从主站的流式WAL :无法接收WAL流中的数据:错误:请求的WAL段000000010000000000000020已被删除 2019-06-27 14:12:58.943 UTC 13113日志: 2019-06-27 14:12:58.943 UTC 13113日志:无法从WAL流接收数据:错误: 请求的WAL段0000000100000000000020已被删除
有人知道怎么解决这个问题吗?我不明白这种行为。
发布于 2019-06-27 15:03:17
对于PostgreSQL9.4,您需要增加wal_keep_segments或使用复制槽,这样主服务器不会在从服务器接收到它们之前覆盖WALs。
https://stackoverflow.com/questions/56793175
复制相似问题