Ответы:
Запустите этот запрос, чтобы показать, если / когда ваши таблицы последний раз пылесосили.
SELECT * FROM pg_stat_all_tables;
Таблица не будет пылесоситься до тех пор, пока не будет достигнут порог вставки / обновления / удаления, который составляет 20%.
Вы можете настроить параметр в RDS, создав новую группу параметров БД и изменив нужный параметр.
В RDS документации говорится:
Автоочистка включена по умолчанию для всех новых экземпляров БД Amazon RDS PostgreSQL, а соответствующие параметры конфигурации автоочистки установлены по умолчанию. Поскольку наши значения по умолчанию являются общими, вы можете воспользоваться настройкой параметров для своей конкретной рабочей нагрузки.
Вы можете проверить активацию автоочистки с помощью этой команды: SHOW autovacuum;
получить простой on
или off
ответ.
Вы можете получить более подробную информацию с помощью этой команды: 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
Эти настройки (и другие vacuum
настройки) описаны для Postgres здесь .
SHOW autovacuum;
. Или включите авто-вакуумную регистрацию и проверьте журналы. RDS, безусловно, требует вакуума, но я был бы удивлен, если бы он не делал довольно агрессивную автоочистку.