pg_lsn
Type #
The pg_lsn
data type can be used to store LSN (Log Sequence
Number) data which is a pointer to a location in the WAL. This type is a
representation of XLogRecPtr
and an internal system type of
PostgreSQL.
Internally, an LSN is a 64-bit integer, representing a byte position in
the write-ahead log stream. It is printed as two hexadecimal numbers of
up to 8 digits each, separated by a slash; for example,
16/B374D848
. The pg_lsn
type supports the
standard comparison operators, like =
and
>
. Two LSNs can be subtracted using the
-
operator; the result is the number of bytes separating
those write-ahead log locations. Also the number of bytes can be
added into and subtracted from LSN using the
+(pg_lsn,numeric)
and
-(pg_lsn,numeric)
operators, respectively. Note that
the calculated LSN should be in the range of pg_lsn
type,
i.e., between 0/0
and
FFFFFFFF/FFFFFFFF
.