Documentation PostgreSQL 16.14 » Internes » Catalogues système » pg_largeobject

Précédent Niveau supérieur Suivant
53.29. pg_language Sommaire 53.31. pg_largeobject_metadata

53.30. pg_largeobject #

Le catalogue pg_largeobject contient les données qui décrivent les « Large Objects » (large objects). Un Large Object est identifié par un OID qui lui est affecté lors de sa création. Chaque Large Object est coupé en segments ou « pages » suffisamment petits pour être facilement stockés dans des lignes de pg_largeobject. La taille de données par page est définie par LOBLKSIZE, qui vaut actuellement BLCKSZ/4, soit habituellement 2 ko).

Avant PostgreSQL 9.0, il n'existait pas de droits associés aux « Large Objects ». Du coup, pg_largeobject était lisible par tout le monde et pouvait être utilisé pour obtenir les OID (et le contenu) de tous les « Large Objects » du système. Ce n'est plus le cas ; utilisez pg_largeobject_metadata pour obtenir une liste des OID des « Large Objects ».

Tableau 53.30. Colonnes de pg_largeobject

Type

Description

loid oid (référence pg_largeobject_metadata.oid)

Identifiant du Large Object qui contient la page

pageno int4

Numéro de la page au sein du Large Object, en partant de 0

data bytea

Données effectivement stockées dans le Large Object. Il ne fait jamais plus de LOBLKSIZE mais peut faire moins.


Chaque ligne de pg_largeobject contient les données d'une page du Large Object, en commençant au décalage d'octet (pageno * LOBLKSIZE) dans l'objet. Ceci permet un stockage diffus : des pages peuvent manquer, d'autres faire moins de LOBLKSIZE octets même s'il ne s'agit pas de la dernière de l'objet. Les parties manquantes sont considérées comme des suites de zéro.

AltStyle によって変換されたページ (->オリジナル) /