【发布时间】:2018-01-29 10:39:58
【问题描述】:
Postgresql 具有 Vacuum 的功能,用于回收死元组占用的空间。自动吸尘默认开启并根据配置设置运行。
当我检查 pg_stat_all_tables 的输出,即 last_vacuum 和 last_autovacuum 时,从未对数据库中具有足够数量的死元组(超过 1K)的大多数表运行 autovacuum。当这些表很少使用时,我们还获得了 2-3 小时的时间窗口。
我想问一下,只依靠自动吸尘器是个好主意吗?
autovacuum 是否需要任何特殊设置才能正常运行?
我们应该设置手动吸尘器吗?我们应该同时使用两者还是只关闭自动吸尘器并仅使用手动吸尘器?
【问题讨论】:
-
嗯,这就像在问您应该在汽车中使用手动变速箱还是自动变速箱。普通用户肯定会在自动模式下表现得更好。 Pro会用手动来挤压这最后几滴速度。现在,如果 autovacuum 没有运行,并且您确定它应该发布您的配置和所有必要的数据,我们将对其进行查看。
-
请。将此线程移至dba.stackexchange.com。与编程无关。
标签: postgresql vacuum autovacuum