pg_wal_lsn_diff()
是一个计算两个WAL位置之间差值的系统函数。
pg_wal_lsn_diff()
在PostgreSQL 9.2 中添加,当时名为 pg_xlog_location_diff()
。
用法
pg_wal_lsn_diff (lsn1
pg_lsn,lsn2
pg_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()