Documentation PostgreSQL 14.22 » Annexes » Programmes supplémentaires fournis » Applications clients » vacuumlo

Précédent | Niveau supérieur | Suivant
oid2name | Sommaire | G.2. Applications serveurs

## 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.

## Environnement

`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 34.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`.

## 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 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.

## Auteur

Peter Mount `<peter@retep.org.uk>`