首页 > 解决方案 > 恢复期间无法执行 ANALYZE

问题描述

我们有一个仅插入的表,由于使用嵌套循环而不是哈希连接的查询计划,我们经常得到不好的结果。为了解决这个问题,我们必须手动运行 ANALYZE(真空有时不会在仅插入表上运行,长话短说,不是这里的重点)。当我尝试在副本机器上运行分析时,ERROR: cannot execute ANALYZE during recovery出现错误。所以这让我觉得我们可能不需要在副本上执行 ANALYZE。

我的问题是:在主节点上执行分析时,统计信息是否会传播到副本?

下面链接中的问题与此类似,但它是关于真空的。我们只使用分析。 https://serverfault.com/questions/212219/postgresql-9-does-vacuuming-a-table-on-the-primary-replicate-on-the-mirror

标签: postgresqldatabase-replicationpostgresql-11

解决方案


统计信息存储在表中,并且该表从主服务器复制到副本。所以你不需要也不能ANALYZE在副本上运行(物理复制)


推荐阅读