预发布版本文档。 PostgreSQL 19beta4 为测试版本,最终发布内容可能有所不同。
8.20. pg_lsn 类型 #
pg_lsn 数据类型可用于存储 LSN(日志序列号)数据。LSN 是指向 WAL 中某个位置的指针。该类型是
XLogRecPtr 的一种表示形式,也是
PostgreSQL 的内部系统类型之一。
在内部,LSN 是一个 64 位整数,表示预写式日志流中的字节位置。它打印为两个最多 8 位的十六进制数,中间以斜线分隔,例如
16/B374D848。pg_lsn 类型支持标准比较操作符,如 = 和
>。两个 LSN 可以用 -
操作符相减,结果是这两个预写式日志位置之间相隔的字节数。此外,还可以分别使用 +(pg_lsn,numeric) 和
-(pg_lsn,numeric) 操作符,在 LSN 上加减字节数。请注意,计算得到的 LSN 必须位于 pg_lsn 类型的取值范围内,也就是在 0/00000000 和
FFFFFFFF/FFFFFFFF 之间。