8.20. Тип pg_lsn#

8.20. Тип pg_lsn

8.20. Тип pg_lsn

Тип данных pg_lsn может использоваться для хранения данных LSN (Log Sequence Number), которые являются указателем на местоположение в WAL. Этот тип является представлением XLogRecPtr и внутренним системным типом Tantor SE.

Внутренне LSN представляет собой 64-битное целое число, представляющее позицию байта в потоке журнала предварительной записи. Оно выводится в виде двух шестнадцатеричных чисел, каждое из которых может содержать до 8 цифр, разделенных слэшем; например, 16/B374D848. Тип pg_lsn поддерживает стандартные операторы сравнения, такие как = и >. Два LSN могут быть вычтены с использованием оператора -; результатом будет количество байт, разделяющих эти местоположения в журнале предварительной записи. Также количество байт может быть добавлено и вычтено из LSN с использованием операторов +(pg_lsn,numeric) и -(pg_lsn,numeric) соответственно. Обратите внимание, что вычисленный LSN должен находиться в диапазоне типа pg_lsn, то есть между 0/0 и FFFFFFFF/FFFFFFFF.