Тип 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.