【问题标题】:Need help in using the 'analyze-in-stages' option of the vacuumdb command在使用 Vacuumdb 命令的 'analyze-in-stages' 选项时需要帮助
【发布时间】:2021-11-24 12:45:01
【问题描述】:

我有一个包含许多数据库的 PostgreSQL 10 集群,总大小为 500 Gb。我已经使用 analyze-in-stages 选项启动了 Vacuumdb 命令:

vacuumdb --all --verbose --analyze-in-stages

我在输出中看到了:

vacuumdb: processing database "db1": Generating minimal optimizer statistics (1 target)
vacuumdb: processing database "db2": Generating minimal optimizer statistics (1 target)
...
vacuumdb: processing database "dbN": Generating minimal optimizer statistics (1 targets)
vacuumdb: processing database "db1": Generating medium optimizer statistics (10 targets)
vacuumdb: processing database "db2": Generating medium optimizer statistics (10 targets)
...
vacuumdb: processing database "dbN": Generating medium optimizer statistics (10 targets)
vacuumdb: processing database "db1": Generating default (full) optimizer statistics
....

所以我知道 VACUUM 正在分阶段处理:最小、中等、默认使用目标,但如何控制这个“目标”?它是哪个参数?是否还有更多阶段,因为它尚未终止?

提前谢谢你

【问题讨论】:

    标签: postgresql postgresql-10 vacuum


    【解决方案1】:

    我找到了一个调查代码历史的答案:vacuumdb: Add option --analyze-in-stages

    确实有3个阶段使用这个参数:

    1. 最小:“SET default_statistics_target=1; SET Vacuum_cost_delay=0;”
    2. medium : "SET default_statistics_target=10; RESET Vacuum_cost_delay;"
    3. 默认(完整):“RESET default_statistics_target;”

    参考。 diff vacuumdb.c

    【讨论】:

      猜你喜欢
      • 2015-03-20
      • 1970-01-01
      • 2015-04-12
      • 2014-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-17
      • 1970-01-01
      相关资源
      最近更新 更多