postgresql 9.2从未使用真空吸尘器进行分析

postgresql 9.2从未使用真空吸尘器进行分析,postgresql,postgresql-9.2,Postgresql,Postgresql 9.2,我已经给了postgres 9.2分贝,大小约为20GB 我查看了数据库,发现它从未在任何表上运行过真空和/或分析。 Autovacuum处于启用状态,事务环绕限制非常远(仅为其1%) 我对数据活动(删除、插入、更新的次数)一无所知,但我知道,它使用了大量索引和序列。 我的问题是: 缺少真空和/或分析是否会影响数据完整性(例如,select不会显示与从表或索引中选择的行相匹配的所有行)?查询和写入的速度并不重要 真空和/或分析之后,同一查询是否可能给出与真空/分析命令之前不同的答案 我是PG的新

我已经给了postgres 9.2分贝,大小约为20GB

我查看了数据库,发现它从未在任何表上运行过真空和/或分析。 Autovacuum处于启用状态,事务环绕限制非常远(仅为其1%)

我对数据活动(删除、插入、更新的次数)一无所知,但我知道,它使用了大量索引和序列。 我的问题是:

  • 缺少真空和/或分析是否会影响数据完整性(例如,select不会显示与从表或索引中选择的行相匹配的所有行)?查询和写入的速度并不重要

  • 真空和/或分析之后,同一查询是否可能给出与真空/分析命令之前不同的答案

  • 我是PG的新手,谢谢你的帮助

    问候,,
    Figaro88运行真空和/或分析不会改变任何选择操作产生的结果集(除非PostgreSQL中存在错误)。如果您不提供一个
    orderby
    子句,它们可能会影响结果的顺序。

    1):不,2):不(除非Postgres中存在未知错误)在
    VACUUM
    之后,没有按某物排序的
    查询可以以不同的顺序返回行。您使用什么方法来确定它从未被抽真空或分析过?我使用了以下命令:从pg_stat_all_表中选择schemaname、relname、last_autoanalyze、last_analyze、last_VACUUM、last_autovacuum;除了慢速查询之外,罕见/从不真空和/或分析的结果是什么?例如,向以前分析过的表中添加一个新列,并插入大量新行但不进行分析,这会使新列数据不可选择,或者仅查询与这些行匹配的数据会更慢?从8.1开始,除非您特别关闭它,否则PostgreSQL将自动清空(同时分析)您的数据库。请看,它可能会使许多查询变慢,而不仅仅是那些与这些行匹配的查询。自动吸尘器已打开,因此这不是问题。我只是担心未分析的表给查询提供了错误的结果集(没有显示所有匹配的行)。真的希望死行不能被选择或更新。很抱歉提出了一些蹩脚的问题,但我无法在文档中找到关于无真空和无分析的缺失及其后果的明确答案。