8.20.pg_lsn类型#
pg_lsn数据类型可用于存储 LSN(日志序列号)数据,该数据是 WAL 中某个位置的指针。此类型是XLogRecPtr的表示形式,也是PostgreSQL的内部系统类型。
在内部,LSN 是一个 64 位整数,表示预写日志流中的字节位置。它以两个十六进制数字打印,每个数字最多 8 位,并用斜杠分隔;例如,16/B374D848。pg_lsn类型支持标准比较运算符,如=和>。可以使用-运算符减去两个 LSN;结果是分隔这些预写日志位置的字节数。还可以使用+(pg_lsn,numeric)和-(pg_lsn,numeric)运算符分别将字节数添加到 LSN 中并从中减去字节数。请注意,计算出的 LSN 应在pg_lsn类型的范围内,即介于0/0和FFFFFFFF/FFFFFFFF之间。
