vacuumlo est un outil simple qui supprimera tous les « Large Objects » « orphelins » d'une base de données PostgreSQL™. Un « Large Object » orphelin est tout « Large Object » dont l'OID n'apparaît dans aucune colonne oid ou lo de la base de données.
Si vous l'utilisez, vous pourriez être intéressé par le trigger lo_manage du module contrib contrib/lo (voir Section F.17, « lo »). lo_manage est utile pour tenter d'éviter la création de « Large Object » orphelins.
vacuumlo [options] base [base2 ... basen]
Toutes les bases de données indiquées sur la ligne de commande sont traitées. Les options disponibles sont :
Écrit beaucoup de messages de progression.
Ne supprime rien, affiche simplement ce qu'il aurait fait.
Nom d'utilisateur pour la connexion.
Ne demande jamais un mot de passe. Si le serveur en réclame un pour l'authentification et qu'un mot de passe n'est pas disponible d'une autre façon (par exemple avec le fichier .pgpass), la tentative de connexion échouera. Cette option peut être utile pour les scripts où aucun utilisateur n'est présent pour saisir un mot de passe.
Force vacuumlo à demander un mot de passe avant la connexion à une base de données.
Cette option n'est jamais obligatoire car vacuumlo demandera automatiquement un mot de passe si le serveur exige une authentification par mot de passe. Néanmoins, vacuumlo perdra une tentative de connexion pour trouver que le serveur veut un mot de passe. Dans certains cas, il est préférable d'ajouter l'option -W pour éviter la tentative de connexion.
Serveur de la base de données.
Port du serveur de la base de données.
Tout d'abord, ce module construit une table temporaire contenant tous les OID des « Large Objects » de cette base de donnée.
Ensuite, il parcourt toutes les colonnes de la base qui sont de type oid ou lo, et supprime les entrées correspondantes de la table temporaire.
Les entrées restantes de la table temporaire identifient les « Large Objects » orphelins. Ils sont supprimés.