vacuumlo — supprimer les Large Objects orphelins à partir d'une base de données PostgreSQL
vacuumlo [option...] nom_base...
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 lo.
lo_manage est utile pour tenter d'éviter la création
de « Large Object » orphelins.
Toutes les bases de données indiquées sur la ligne de commande sont traitées.
vacuumlo accepte les arguments suivants en ligne de commande :
-l limite--limit=limite
Ne supprime pas plus de limite Large Objects par
transactions (par défaut 1000). Comme le serveur acquiert un verrou par
Large Object à supprimer, supprimer beaucoup de Large Objects en une seule
transaction risque de dépasser la limite imposée par le paramètre
max_locks_per_transaction. Configurez la limite à
zéro si vous voulez tout supprimer en une seule transaction.
-n--dry-runNe supprime rien, affiche simplement ce qu'il aurait fait.
-v--verboseÉcrit de nombreux messages de progression.
-V--versionAffiche la version de vacuumlo, puis quitte.
-?--helpAffiche l'aide sur les arguments en ligne de commande de vacuumlo, puis quitte.
vacuumlo accepte aussi les arguments en ligne de commande pour les paramètres de connexion :
-h nom_hôte--host=nom_hôteHôte du serveur de la base.
-p port--port=portPort du serveur.
-U nom_utilisateur--username=nom_utilisateurNom d'utilisateur pour la connexion.
-w--no-password
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.
-W--passwordForce 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.
PGHOSTPGPORTPGUSERParamètres de connexion par défaut.
Cet utilitaire, comme la plupart des autres utilitaires PostgreSQL, utilise également les variables d'environnement supportées par libpq (voir Section 32.15).
La variable d'environnement PG_COLOR indique s'il faut, ou
non, utiliser de la couleur dans les messages de diagnostic. Les valeurs
possibles sont always, auto et
never.
vacuumlo fonctionne avec la méthode suivante.
Tout d'abord, vacuumlo construit une table
temporaire contenant tous les OID des Large Objects se trouvant dans la base
sélectionnée. Puis, il parcourt toutes les colonnes de la base qui sont du
type oid ou lo, et supprime toutes les entrées
correspondantes de la table temporaire. (Note : seuls sont pris en compte
les types de ces noms ; en particulier, les domaines utilisant ces
types ne sont pas pris en compte.) Les enregistrements restants dans la
table temporaire sont identifiés comme les Large Objects orphelins. Ils sont
supprimés.
Peter Mount <peter@retep.org.uk>