Tous les « Large Objects » sont enregistrés dans un seul catalogue système
nommé pg_largeobject
.
Chaque « Large Object » a aussi une entrée dans la table système
pg_largeobject_metadata
.
Les « Large Objects » peuvent être créés, modifiés et supprimés en
utilisant une API de lecture/écriture très similaire à celle des
opérations standards sur les fichiers.
PostgreSQL accepte aussi un système de stockage appelé « TOAST » qui stocke automatiquement les valeurs ne tenant pas sur un bloc de la base de données dans une aire de stockage secondaire par table. Ceci rend partiellement obsolète la fonctionnalité des « Large Objects ». Un avantage restant des « Large Objects » est qu'il autorise les valeurs de plus de 4 To en taille alors que les champs TOAST peuvent être d'au plus 1 Go. De plus, lire et mettre à jour des portions d'un « Large Object » se fait très simplement en conservant de bonnes performances alors que la plupart des opérations sur un champ mis dans la partie TOAST demandera une lecture ou une écriture de la valeur totale.