Skip to content

8.20.pg_lsn类型#

pg_lsn数据类型可用于存储 LSN(日志序列号)数据,该数据是 WAL 中某个位置的指针。此类型是XLogRecPtr的表示形式,也是PostgreSQL的内部系统类型。

在内部,LSN 是一个 64 位整数,表示预写日志流中的字节位置。它以两个十六进制数字打印,每个数字最多 8 位,并用斜杠分隔;例如,16/B374D848pg_lsn类型支持标准比较运算符,如=>。可以使用-运算符减去两个 LSN;结果是分隔这些预写日志位置的字节数。还可以使用+(pg_lsn,numeric)-(pg_lsn,numeric)运算符分别将字节数添加到 LSN 中并从中减去字节数。请注意,计算出的 LSN 应在pg_lsn类型的范围内,即介于0/0FFFFFFFF/FFFFFFFF之间。