8.20. Tipo pg_lsn #

El tipo de datos pg_lsn se puede utilizar para almacenar datos LSN (Log Sequence Number, número de secuencia de registro), que es un puntero a una ubicación en el WAL. Este tipo es una representación de XLogRecPtr y un tipo de sistema interno de PostgreSQL.

Internamente, un LSN es un entero de 64 bits que representa una posición de byte en el flujo del registro de escritura anticipada (write-ahead log). Se muestra como dos números hexadecimales de hasta 8 dígitos cada uno, separados por una barra diagonal; por ejemplo, 16/B374D848. El tipo pg_lsn admite los operadores de comparación estándar, como = y >. Se pueden restar dos LSN utilizando el operador -; el resultado es el número de bytes que separan esas ubicaciones del registro de escritura anticipada. También se puede sumar y restar un número de bytes a un LSN utilizando los operadores +(pg_lsn,numeric) y -(pg_lsn,numeric), respectivamente. Ten en cuenta que el LSN calculado debe estar en el rango del tipo pg_lsn, es decir, entre 0/0 y FFFFFFFF/FFFFFFFF.