pg_lsn
Le type de données pg_lsn
peut être utilisé pour stocker des
données LSN (Log Sequence Number ou Numéro de Séquence de Journal), qui
sont un pointeur vers une position dans les journaux de transactions. Ce
type est une représentation de XLogRecPtr
et un type système
interne de PostgreSQL.
En interne, un LSN est un entier sur 64 bits, représentant une position
d'octet dans le flux des journaux de transactions. Il est affiché comme
deux nombres hexadécimaux allant jusqu'à 8 caractères chacun, séparés par
un slash. Par exemple, 16/B374D848
. Le type
pg_lsn
gère les opérateurs de comparaison standard, comme
=
et >
. Deux LSN peuvent être
soustraits en utilisant l'opérateur -
. Le résultat est
le nombre d'octets séparant ces deux emplacements dans les journaux de
transactions. De plus, un nombre d'octets peut être additionné ou
soustrait à un LSN en utilisant respectivement les opérateurs +
(pg_lsn,numeric)
et -(pg_lsn,numeric)
. Notez
que le LSN calculé sera dans l'intervalle de type pg_lsn
,
i.e. entre 0/0
et
FFFFFFFF/FFFFFFFF
.