Postgresql 真空作业运行时,postgres数据库上的复制中断

Postgresql 真空作业运行时,postgres数据库上的复制中断,postgresql,database-replication,vacuum,Postgresql,Database Replication,Vacuum,我们在(SUSE Linux)4.3.4-64位上运行PostgreSQL 9.1.3。设置了一个主从机,并在两者之间设置了流式复制。我们设置了一个cron作业,每周五在主数据库上运行VACUUM命令。我的观察结果是,从运行真空作业开始,复制在半小时内中断 从服务器上的postgres日志中的错误为 致命:无法从WAL流接收数据:致命:请求的WAL段0000000 3000013500001A已被删除 请您帮助我了解两者之间的关系,以及如何防止复制中断 请注意,我是Postgres的新手。请查看

我们在(SUSE Linux)4.3.4-64位上运行PostgreSQL 9.1.3。设置了一个主从机,并在两者之间设置了流式复制。我们设置了一个cron作业,每周五在主数据库上运行VACUUM命令。我的观察结果是,从运行真空作业开始,复制在半小时内中断

从服务器上的postgres日志中的错误为

致命:无法从WAL流接收数据:致命:请求的WAL段0000000 3000013500001A已被删除

请您帮助我了解两者之间的关系,以及如何防止复制中断


请注意,我是Postgres的新手。

请查看
wal_keep_segments
-我认为真空产生的wal日志太多,速度太快,因此从机将wal日志丢失到postgresql.conf文件中的applywal_keep_segments设置为1250。什么是真空?延迟?清理?年龄,你认为操作它会有帮助吗?
select 1250*16/1024
is 19GB。。。数据库有多大?什么是从属错误?数据库是170GB。从属服务器上的错误是致命的:无法从WAL流接收数据:致命的:请求的WAL段0000000 30000150000001A已被删除。这仍然让人觉得你的墙段太少了。你把它们放在什么地方了吗?如果您有
show archive_命令
等于
cd
或类似命令,则不保存它们。在这种情况下,尝试将
wal\u keep\u segments
增加到3000。我知道这听起来有点开销,但您可能有非常负载的oltp解决方案。否则,我无法解释
真空
怎么会占用这么多空间。这么快。。。啊-另一件事-在从机上执行u
pg_xlog\u replay\u pause
。查看
wal_keep_segments
-我认为真空生成的wal日志太多太快,因此从机会错过wal日志,以将postgresql.conf文件中的applywal_keep_segments设置为1250。什么是真空?延迟?清理?年龄,你认为操作它会有帮助吗?
select 1250*16/1024
is 19GB。。。数据库有多大?什么是从属错误?数据库是170GB。从属服务器上的错误是致命的:无法从WAL流接收数据:致命的:请求的WAL段0000000 30000150000001A已被删除。这仍然让人觉得你的墙段太少了。你把它们放在什么地方了吗?如果您有
show archive_命令
等于
cd
或类似命令,则不保存它们。在这种情况下,尝试将
wal\u keep\u segments
增加到3000。我知道这听起来有点开销,但您可能有非常负载的oltp解决方案。否则,我无法解释
真空
怎么会占用这么多空间。这么快。。。啊-另一件事-在从机上执行u
pg\u xlog\u replay\u pause
?。。