pg_visible_in_snapshot()
是一个系统函数,用于确定事务ID在快照中是否可见。
pg_visible_in_snapshot()
在 PostgreSQL 13 中添加。
用法
pg_visible_in_snapshot (xid8
,pg_snapshot
) →boolean
pg_visible_in_snapshot()
如果指定的事务在快照拍摄之前已完成,则返回 true
,否则返回 false
。
指定的事务不能是子事务。
pg_visible_in_snapshot()
替换了 txid_visible_in_snapshot()
。
更改历史记录
- PostgreSQL 13
- 添加 (提交 4c04be9b)
示例
pg_visible_in_snapshot()
的用法示例
postgres=# SELECT pg_current_snapshot(); pg_current_snapshot --------------------- 795:799:795,797 (1 row) postgres=# SELECT pg_visible_in_snapshot('794'::xid8, '795:799:795,797'); pg_visible_in_snapshot ------------------------ t (1 row) postgres=# SELECT pg_visible_in_snapshot('796'::xid8, '795:799:795,797'); pg_visible_in_snapshot ------------------------ t (1 row) postgres=# SELECT pg_visible_in_snapshot('797'::xid8, '795:799:795,797'); pg_visible_in_snapshot ------------------------ f (1 row) postgres=# SELECT pg_visible_in_snapshot('798'::xid8, '795:799:795,797'); pg_visible_in_snapshot ------------------------ t (1 row) postgres=# SELECT pg_visible_in_snapshot('799'::xid8, '795:799:795,797'); pg_visible_in_snapshot ------------------------ f (1 row)
参考
- PostgreSQL 文档: 事务ID和快照信息函数