首页 > 解决方案 > Azure Postgres AUTOVACUM AND ANALYZE THRESHOLD - 如何更改它?

问题描述

我又带着另一个 Postgres 问题来了。我们正在使用 Azure 的托管服务,该服务使用autovacuum. 两者都是自动的vacuumstatistics

我遇到的问题是,对于特定查询,当它在特定时间运行时,计划不好。我意识到,在手动收集统计数据后,该计划再次表现得更好。

从 Azure 的文档中,我得到了以下信息:

真空进程读取物理页面并检查死元组。shared_buffers 中的每个页面都被认为具有 1 的成本 (vacuum_cost_page_hit)。如果存在死元组,则所有其他页面的成本为 20 (vacuum_cost_page_dirty),如果不存在死元组,则认为成本为 10 (vacuum_cost_page_miss)。当进程超过 autovacuum_vacuum_cost_limit 时,vacuum 操作停止。

达到限制后,进程在再次启动之前休眠 autovacuum_vacuum_cost_delay 参数指定的持续时间。如果未达到限制,则 autovacuum 在 autovacuum_naptime 参数指定的值之后启动。

总之,autovacuum_vacuum_cost_delay 和 autovacuum_vacuum_cost_limit 参数控制每单位时间允许多少数据清理。请注意,对于大多数定价层来说,默认值太低。这些参数的最佳值取决于定价层,应进行相应配置。

autovacuum_max_workers 参数确定可以同时运行的最大 autovacuum 进程数。

使用 PostgreSQL,您可以在表级别或实例级别设置这些参数。现在,只能在 Azure Database for PostgreSQL 中的表级别设置这些参数。

假设我想强调特定表的默认值,因为目前所有表都使用整个数据库的默认值。

在此处输入图像描述

请记住,我可以尝试使用(X我不知道在哪里)

ALTER TABLE tablename SET (autovacuum_vacuum_threshold = X );
ALTER TABLE tablename SET (autovacuum_vacuum_scale_factor = X);
ALTER TABLE tablename SET (autovacuum_vacuum_cost_limit = X );
ALTER TABLE tablename SET (autovacuum_vacuum_cost_delay = X );

目前我有这些值pg_stat_all_tables

SELECT schemaname,relname,n_tup_ins,n_tup_upd,n_tup_del,last_analyze,last_autovacuum,last_autoanalyze,analyze_count,autoanalyze_count 
FROM pg_stat_all_tables where schemaname = 'swp_am_hcbe_pro' 
and relname in ( 'submissions','applications' ) 

"swp_am_hcbe_pro"   "applications"  "264615"    "11688533"  "18278" "2021-11-11 08:45:45.878654+00" "2021-11-11 13:50:27.498745+00" "2021-11-10 12:02:04.690082+00" "1" "152"
"swp_am_hcbe_pro"   "submissions"   "663107"    "687757"    "51603" "2021-11-11 08:46:48.054731+00" "2021-11-07 04:41:30.205468+00" "2021-11-04 15:25:45.758618+00" "1" "20"

在此处输入图像描述

到目前为止,这两个表是获得大部分 DML 活动的表。

问题

autovacuum_analyze_threshold

指定在任何一个表中触发 ANALYZE 所需的最小插入、更新或删除元组数。默认值为 50 个元组。该参数只能在 postgresql.conf 文件或服务器命令行中设置;但是可以通过更改表存储参数来覆盖单个表的设置。

提前感谢您的任何建议。如果您需要更多详细信息,请告诉我。

标签: postgresqlpostgresql-10azure-postgresqlautovacuumtable-statistics

解决方案


推荐阅读