如何确保autovacuum守护程序在我的PostgreSQL Docker容器中运行?

时间:2019-05-22 13:08:56

标签: postgresql docker vacuum autovacuum

我正在对在Docker容器中运行的数据库进行基准测试以解决碎片问题,并发现autovacuum守护程序未运行。

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

启动PostgreSQL Docker容器时如何确保此autovacuum守护程序正在运行?

1 个答案:

答案 0 :(得分:1)

运行SQL语句

ALTER SYSTEM SET autovacuum = on;

以超级用户身份,然后重新启动PostgreSQL服务器进程。