【问题标题】:How to ensure that the autovacuum daemon is running in my PostgreSQL Docker Container?如何确保 autovacuum 守护程序在我的 PostgreSQL Docker 容器中运行?
【发布时间】:2019-05-22 13:08:55
【问题描述】:

我正在针对碎片问题对在 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        |

因此,我遇到了碎片化表演效果:

当我启动 PostgreSQL Docker 容器时,如何确保这个 autovacuum 守护进程正在运行?

【问题讨论】:

    标签: postgresql docker vacuum autovacuum


    【解决方案1】:

    运行 SQL 语句

    ALTER SYSTEM SET autovacuum = on;
    

    作为超级用户,然后重新启动 PostgreSQL 服务器进程。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-13
      • 1970-01-01
      • 2019-06-01
      • 2019-04-22
      • 2020-12-13
      • 2017-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多