一个**多事务 ID
**是用于支持多个事务行锁定的内部标识符。
多事务 ID
在事务使用“SELECT … FOR UPDATE
”(或以下锁定模式之一:SHARE、KEY SHARE、NO KEY UPDATE)来锁定和更新元组时创建。
多事务 ID
位于pg_multixact
目录中。
示例
显示多事务 ID 使用情况
SELECT relname, relminmxid, $NextMultiXactId - relminmxid::TEXT::BIGINT AS age FROM pg_class WHERE relminmxid::TEXT::BIGINT <> 0 ORDER BY relminmxid::TEXT::BIGINT ASC LIMIT 10;
其中$NextMultiXactId
是以下返回的值:
SELECT next_multixact_id FROM pg_control_checkpoint()
(对于PostgreSQL 9.5 及更早版本,请使用pg_controldata 输出中“Latest checkpoint's NextMultiXactId
”的值。)
参考
- PostgreSQL 文档: 多事务和环绕
类别
另请参见
mxid_age()、vacuum_multixact_freeze_table_age、autovacuum_multixact_freeze_table_age