Documentation PostgreSQL 14.22 » Langage SQL » Types de données » Type `pg_lsn`

Précédent | Niveau supérieur | Suivant
8.19. Types identifiant d'objet | Sommaire | 8.21. Pseudo-Types

## 8.20. Type `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`.