【问题标题】:vacuum necessity and effectivness真空的必要性和有效性
【发布时间】:2018-02-18 03:45:49
【问题描述】:

大师!

请分享您用来估计真空是强制性的 sql 查询,看看它是如何有效的。 它应该显示诸如未使用空间或现有/已删除行比率等内容。

【问题讨论】:

  • 您的 conf 中是否激活了 log_autovacuum_min_duration ?将其设置为 0,您的日志中就会有信息。现在,你需要真空吗,答案是 99% 是的,你完全知道在你的数据库中发生了什么,你总是需要真空。查看wiki.postgresql.org/wiki/Show_database_bloat 估计膨胀。

标签: postgresql vacuum


【解决方案1】:

这将显示哪些表需要清理:

SELECT schemaname, relname, n_live_tup, n_dead_tup
FROM pg_stat_all_tables
WHERE n_live_tup > 0
  AND 10 * n_dead_tup > n_live_tup
ORDER BY n_dead_tup / n_live_tup DESC;

这类似于 autovacuum 如何确定应清理哪些表。

因此,您应该启用 autovacuum,必要时对其进行调整,然后让它为您完成这项工作。

那你就不用担心这样的问题了。

【讨论】:

    猜你喜欢
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-20
    • 2010-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多