pg_prepared_xacts 显示那些当前准备好进行两阶段提交的事务的信息(参阅 PREPARE TRANSACTION 获取细节)。
pg_prepared_xacts 为每个预备事务包含一行。如果事务提交或者回滚,则删除该条记录。
表43-41. pg_prepared_xacts 字段
名字 | 类型 | 引用 | 描述 |
---|---|---|---|
transaction | xid | 预备事务的数字事务标识 | |
gid | text | 赋予该事务的全局事务标识 | |
prepared | timestamp with time zone | 事务准备好提交的时间 | |
owner | name | pg_authid.rolname | 执行该事务的用户的名字 |
database | name | pg_database.datname | 执行该事务所在的数据库名 |
在访问 pg_prepared_xacts 视图的时候,内部事务管理器数据结构被暂时锁住,并且为显示视图制作了一份拷贝。这样就保证了视图生成一个一致的结果集,而不会阻塞正常的操作太长时间。当然,即便这么做,如果过于频繁地访问这个视图,肯定也会对数据库性能造成一定的影响。