一个**LSN
**(日志序列号)是一个无符号的 64 位整数,用于确定WAL中的位置。在内部,它由指针类型XLogRecPtr表示。在外部,它表示为两个最多八位数字的十六进制数字,由斜杠分隔。
从PostgreSQL 9.4开始,LSN 表示为一个离散的 PostgreSQL 数据类型,pg_lsn
,它用于许多与 WAL 相关的函数。
用法
要计算两个 LSN 之间的差异(以字节为单位),从PostgreSQL 9.4开始,只需将一个值减去另一个值,如有必要,转换为pg_lsn
。函数pg_wal_lsn_diff()
(PostgreSQL 9.6 及更早版本:pg_xlog_location_diff()
)也可用于此目的。
参考文献
- PostgreSQL 文档: pg_lsn