PostgreSQLLa base de données la plus sophistiquée au monde.

Version anglaise

vacuumlo

vacuumlo — supprimer les Large Objects orphelins à partir d'une base de données PostgreSQL

Synopsis

vacuumlo [option...] nom_base...

Description

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.

Options

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-run

Ne supprime rien, affiche simplement ce qu'il aurait fait.

-v, --verbose

Écrit de nombreux messages de progression.

-V, --version

Affiche la version de vacuumlo, puis quitte.

-?, --help

Affiche 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ôte

Hôte du serveur de la base.

-p port, --port=port

Port du serveur.

-U nom_utilisateur, --username=nom_utilisateur

Nom 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, --password

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.

Environment

PGHOST, PGPORT, PGUSER

Paramè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 33.14, « Variables d'environnement »).

Notes

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 entrées correspondant à 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 temporaires sont identifés comme les Large Objects orphelins. Ils sont supprimés.

Auteur

Peter Mount