Как убедиться, что демон autovacuum работает в моем Dog-контейнере PostgreSQL? - PullRequest
1 голос
/ 22 мая 2019

Я сравниваю свою базу данных, работающую в контейнере Docker, с проблемами фрагментации и обнаружил, что демон автоочистки не работает.

SELECT
    schemaname, relname,
    last_vacuum, last_autovacuum,
    vacuum_count, autovacuum_count  -- not available on 9.0 and earlier
FROM pg_stat_user_tables;

дает:

| schemaname | relname     |last_vacuum| last_autovacuum |vacuum_count| autovacuum_count |
|------------|-------------|-----------|-----------------|------------| -----------------|
| public     | mt_doc_order|   <null>  |    <null>       |      0     |         0        |

Поэтому я сталкиваюсь с эффектами фрагментации:

enter image description here

Как я могу убедиться, что этот демон автоочистки работает при запуске моего Dog-контейнера PostgreSQL?

1 Ответ

1 голос
/ 22 мая 2019

Запустите оператор SQL

ALTER SYSTEM SET autovacuum = on;

как суперпользователь, затем перезапустите серверный процесс PostgreSQL.

...