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