我有postgres主/从流复制设置,在使用COPY对master执行大量写入操作后,pg_xlogs文件夹开始堆积WAL段文件。检查主服务器上的pg_current_xlog_location
和sent_location
以及服务器上的pg_last_xlog_receive_location
后,我发现pg_current_xlog_location
和sent_location
之间存在巨大差异,而关于奴隶的pg_last_xlog_receive_location
表示它正在赶上sent_location
。
根据postgres文档(https://www.postgresql.org/docs/9.5/static/warm-standby.html#STREAMING-REPLICATION-MONITORING),这样的情况表明主人负担很重。而在我的情况下,在COPY声明完成后我没有其他任何东西在运行。我该怎么调试呢?
值得一提的另一件事是我在docker中运行postgres 9.5。两台主机之间的网络为2Gbit / s。
答案 0 :(得分:0)
我认为archive_timeout未设置为最佳状态。您可以根据需要将其推送到奴隶的频率进行调整。
WAL设置文档: https://www.postgresql.org/docs/current/static/continuous-archiving.html