数据库真空以避免事务回绕
database vacuum to avoid transaction wrap around
Heroku 平台
PG 版本 13
我有一个非常繁忙的数据库,它接近事务回绕。
此时我真的很想手动吸尘。
我的问题是,如果我对单个表进行手动清理,那么我可以看到 txid 恢复到其最小值。但是全局的txid没有变。
单独清理表格是否足够?
我还需要做 vacuum 数据库吗?
是的,手动 VACUUM
个单独的表格就可以了。
查看该数据库 pg_class
条目中的 relfrozenxid
和 relminmxid
列。找到最古老的。其中一个或多个应等于 datfrozenxid
和 pg_database
中的 datminmxid
。如果你 VACUUM
这些表,数据库的值应该提前。
Heroku 平台 PG 版本 13
我有一个非常繁忙的数据库,它接近事务回绕。
此时我真的很想手动吸尘。 我的问题是,如果我对单个表进行手动清理,那么我可以看到 txid 恢复到其最小值。但是全局的txid没有变。
单独清理表格是否足够? 我还需要做 vacuum 数据库吗?
是的,手动 VACUUM
个单独的表格就可以了。
查看该数据库 pg_class
条目中的 relfrozenxid
和 relminmxid
列。找到最古老的。其中一个或多个应等于 datfrozenxid
和 pg_database
中的 datminmxid
。如果你 VACUUM
这些表,数据库的值应该提前。