8.20. Тип pg_lsn
#
Тип данных pg_lsn
может применяться для хранения значения LSN (последовательный номер в журнале, Log Sequence Number), которое представляет собой указатель на позицию в журнале WAL. Этот тип содержит XLogRecPtr
и является внутренним системным типом Postgres Pro.
Технически LSN — это 64-битное целое число, представляющее байтовое смещение в потоке журнала предзаписи. Он выводится в виде двух шестнадцатеричных чисел до 8 цифр каждое, через косую черту, например: 16/B374D848
. Тип pg_lsn
поддерживает стандартные операторы сравнения, такие как =
и >
. Можно также вычесть один LSN из другого с помощью оператора -
; результатом будет число байт между этими двумя позициями в журнале предзаписи. Также число байт можно добавлять и вычитать из LSN с помощью операторов +(pg_lsn, numeric)
и -(pg_lsn, numeric)
соответственно. Заметьте, что вычисленный LSN должен находиться в допустимом для типа pg_lsn
диапазоне, то есть между 0/0
и FFFFFFFF/FFFFFFFF
.