33.2. Fonctionnalités d'implémentation
              
            
            
              L'implémentation des objets larges, les coupe en « morceaux » (chunks)
              stockés dans les lignes de la base de données. Un index B-tree
              garantit des recherches rapides sur le numéro du morceau lors
              d'accès aléatoires en lecture et écriture.
            
            
              Les parties enregistrées pour un « Large Object » n'ont pas
              besoin d'être contigües. Par exemple, si une application ouvre
              un nouveau « Large Object », recherche la position 1000000, et
              y écrit quelques octets, cela ne résulte pas en l'allocation de
              1000000 octets de stockage, mais seulement les parties couvrant
              les octets de données écrites. Néanmoins, une opération de
              lecture lira des zéros pour tous les emplacements non alloués
              précédant la dernière partie existante. Cela correspond au
              comportement habituel des fichiers « peu
              alloués » dans les systèmes de fichiers
              Unix.
            
            
              À partir de PostgreSQL™ 9.0,
              les « Large Objects » ont un propriétaire et un ensemble de
              droits d'accès pouvant être gérés en utilisant les commandes
              GRANT(7) et
              REVOKE(7). Les
              droits SELECT sont requis pour lire un
              « Large Object », et les droits UPDATE
              sont requis pour écrire ou tronquer. Seul le propriétaire du «
              Large Object » ou le propriétaire de la base de données peut
              supprimer, ajouter un commentaire ou modifier le propriétaire
              d'un « Large Object ». Pour ajuster le comportement en vue de
              la compatibilité avec les anciennes versions, voir le paramètre
              lo_compat_privileges.