postgresql - 恢复期间无法执行 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
解决方案
统计信息存储在表中,并且该表从主服务器复制到副本。所以你不需要也不能ANALYZE
在副本上运行(物理复制)
推荐阅读
- c# - 在 MVC 应用程序中过滤转换为日期 SQL 查询的日期(字符串)
- java - 删除子弹簧靴时删除父母
- python - 更新到 1.2.4 后的 read_csv() pandas
- selenium - Python:相当于firefoxdriver中chromedriver的函数。chromedriver --> firefoxdriver(firefoxdriver 给我语法错误)
- twitter-bootstrap - 如何使用 ttf 文件通过 Bootstrap 5 覆盖现有字体?
- node.js - 如何在本地有 4 个空格缩进?
- google-cloud-functions - Google Cloud Function 在 http 函数调用之间保留数据
- python - 使用 tflite 和 open cv 对汽车进行背光识别
- etcd - etcd v3 中“Watch key changes”的最佳实践
- javascript - Javascipt嵌套而循环未结束