此条目与较新PostgreSQL版本中已重命名的功能相关
pg_wal_lsn_diff() 是一个系统函数,用于计算两个 WAL 位置之间的差异。
pg_wal_lsn_diff() 在 PostgreSQL 9.2 中作为 pg_xlog_location_diff() 添加。
用法
pg_wal_lsn_diff (lsn1pg_lsn,lsn2pg_lsn ) → numeric
变更历史
- PostgreSQL 10
- 重命名为
pg_wal_lsn_diff()(提交 d10c626d)
- 重命名为
- PostgreSQL 9.4
- PostgreSQL 9.2
- 作为
pg_xlog_location_diff()添加 (提交 bc5ac368)
- 作为
示例
基本用法
postgres=# SELECT pg_wal_lsn_diff('7/A25801C8', '7/A2000000');
pg_wal_lsn_diff
-----------------
5767624
(1 row)
请注意,从 PostgreSQL 9.4 开始,可以通过将两个值转换为 pg_lsn 数据类型并直接相减来获得相同的结果。
postgres=# SELECT '7/A25801C8'::pg_lsn - '7/A2000000'::pg_lsn; ?column? ---------- 5767624 (1 row)
参考资料
- PostgreSQL 文档: pg_wal_lsn_diff()
