gpt4 book ai didi

postgresql - 如何防止 Postgres 中表的 autovacuum

转载 作者:行者123 更新时间:2023-11-29 11:27:20 27 4
gpt4 key购买 nike

我有大表,其中我只有插入和选择,所以当这个表的 autovacuum 运行时 - 系统非常慢。我已关闭特定表的 autovacuum:

ALTER TABLE ag_event_20141004_20141009  SET (autovacuum_enabled = false, toast.autovacuum_enabled = false);
ALTER TABLE ag_event_20141014_20141019 SET (autovacuum_enabled = false, toast.autovacuum_enabled = false);

在此之后(一段时间后)我看到:

select pid, waiting, xact_start, query_start,query from pg_stat_activity order by query_start;

18092 | f | 2014-11-04 22:21:05.95512+03 | 2014-11-04 22:21:05.95512+03 | autovacuum: VACUUM public.ag_event_20141004_20141009 (to prevent wraparound)
19877 | f | 2014-11-04 22:22:05.889182+03 | 2014-11-04 22:22:05.889182+03 | autovacuum: VACUUM public.ag_event_20141014_20141019 (to prevent wraparound)

我到底做了什么 shell 来切换这个表的自动清理??

最佳答案

这里的关键是:

(to prevent wraparound)

这意味着 Postgres 必须 autovacuum 为了 free up transaction identifiers .

您不能完全禁用这种类型的 autovacuum,但您可以通过调整 autovacuum_freeze_max_agevacuum_freeze_min_age 参数来降低其频率。

关于postgresql - 如何防止 Postgres 中表的 autovacuum,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26743732/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com