43.21. pg_largeobject
Le catalogue pg_largeobject contient
les données qui décrivent les « objets
volumineux » (
large objects
). Un objet volumineux est
identifié par un OID qui lui est affecté lors de sa création. Chaque
objet volumineux 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).
Tableau 43.21. Colonnes de pg_largeobject
|
Nom
|
Type
|
Description
|
|
loid
|
oid
|
Identifiant de l'objet volumineux qui contient la page
|
|
pageno
|
int4
|
Numéro de la page au sein de l'objet volumineux, en partant
de 0
|
|
data
|
bytea
|
Données effectivement stockées dans l'objet volumineux. Il
ne fait jamais plus de LOBLKSIZE mais peut faire moins.
|
Chaque ligne de pg_largeobject
contient les données d'une page de l'objet volumineux, 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 si elles ne sont pas la dernière de l'objet. Les parties
manquantes sont considérées comme des suites de zéro.