亚马逊 rds PostgreSQL 需要真空吗?

Chr*_*man 16 postgresql amazon-rds

目前尚不清楚自动真空是否在 rds 中运行。谢谢!

小智 16

运行此查询以显示您的表是否/何时上次被清空。

SELECT * FROM pg_stat_all_tables;

在达到插入/更新/删除阈值(即 20%)之前,不会清空表。

您可以通过创建新的数据库参数组并更改所需的设置来调整 RDS 中的设置。


小智 6

RDS文档状态:

Autovacuum 默认为所有新的 Amazon RDS PostgreSQL 数据库实例启用,并且相关的 autovacuum 配置参数默认设置适当。由于我们的默认设置有些通用,因此您可以从针对您的特定工作负载调整参数中受益。

您可以使用以下命令检查 autovacuum 的激活:SHOW autovacuum; 以获得简单onoff答案。

您可以使用此命令获取更多详细信息: SELECT name, setting FROM pg_settings WHERE name LIKE '%autovacuum%';

返回数据示例:

                name                 |  setting  
-------------------------------------+-----------
 autovacuum                          | on
 autovacuum_analyze_scale_factor     | 0.05
 autovacuum_analyze_threshold        | 50
 autovacuum_freeze_max_age           | 200000000
 autovacuum_max_workers              | 3
 autovacuum_multixact_freeze_max_age | 400000000
 autovacuum_naptime                  | 5
 autovacuum_vacuum_cost_delay        | 5
 autovacuum_vacuum_cost_limit        | -1
 autovacuum_vacuum_scale_factor      | 0.1
 autovacuum_vacuum_threshold         | 50
 autovacuum_work_mem                 | -1
 log_autovacuum_min_duration         | -1
 rds.force_autovacuum_logging_level  | disabled
Run Code Online (Sandbox Code Playgroud)

这些设置(和更多vacuum设置)在此处为 Postgres 记录。