Відповіді:
Запустіть цей запит, щоб показати, чи / коли ваші таблиці востаннє прибирали.
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, безумовно, вимагає вакууму, але я був би здивований, якби це не робило досить агресивну автоматичну автоциркуляцію.