【问题标题】:database vacuum to avoid transaction wrap around数据库真空以避免事务环绕
【发布时间】:2021-12-08 09:30:21
【问题描述】:

平台 Heroku PG 版本 13

我有一个非常繁忙的数据库,它正在接近事务处理。

此时我真的很想手动抽真空。 我的问题是,如果我手动清理单个表,那么我可以看到 txid 恢复到它的最小值。但是全局 txid 没有改变。

单独清理表是否足够? 我还需要做真空数据库吗?

【问题讨论】:

  • 您必须清空整个数据库。如果你有足够的 IO,你可以同时清理多个表。不要等待,在数据库关闭之前尽快开始

标签: postgresql vacuum


【解决方案1】:

是的,单个表的手动 VACUUM 就可以解决问题。

查看该数据库的pg_class 条目中的relfrozenxidrelminmxid 列。找到最古老的。其中一项或多项应等于pg_database 中的datfrozenxiddatminmxid。如果你VACUUM那些表,数据库的值应该会增加。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-18
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 2018-10-07
    • 1970-01-01
    相关资源
    最近更新 更多