vacuumdb
vacuumdb — récupère l'espace inutilisé et, optionnellement,
analyse une base de données PostgreSQL™
Synopsis
vacuumdb [
option-de-connexion
...] [[--full] |
[-f]] [[--verbose] | [-v]] [[--analyze] | [-z]] [--table | -t
table
[(
colonne
[,...] )] ] [
base-de-donnees
]
vacuumdb [
options-de-connexion
...] [[--all] |
[-a]] [[--full] | [-f]] [[--verbose] | [-v]] [[--analyze] | [-z]]
Description
vacuumdb est un outil de nettoyage
d'une base de données. vacuumdb
peut également engendrer des statistiques internes utilisées par
l'optimiseur de requêtes de PostgreSQL™.
vacuumdb est une surcouche de la
commande VACUUM. Il n'y a aucune différence entre vacuumdb et
les autres méthodes de vacuum.
Options
vacuumdb accepte les arguments
suivants sur la ligne de commande :
-
-a,
--all
-
Nettoie toutes les bases de données.
-
[-d]
base-de-donnees
,
[--dbname]
base-de-donnees
-
Indique le nom de la base de données à nettoyer ou à
analyser. Si aucun nom n'est pas précisé et si -a (ou --all) n'est pas
utilisé, le nom de la base de données est récupéré dans la
variable d'environnement PGDATABASE.
Si cette variable n'est pas initialisée, c'est le nom
d'utilisateur précisé pour la connexion qui est utilisé.
-
-e,
--echo
-
Affiche les commandes que vacuumdb engendre et envoie au serveur.
-
-f,
--full
-
Exécute un nettoyage « complet ».
-
-q,
--quiet
-
N'affiche pas de réponse.
-
-t
table
[ (
colonne
[,...]) ],
--table
table
[ (
colonne
[,...]) ]
-
Ne nettoie ou n'analyse que la table
table
. Des noms de colonnes
peuvent être précisés en conjonction avec l'option --analyze
Astuce
Lorsque des colonnes sont indiquées, il peut être
nécessaire d'échapper les parenthèses. (Voir les exemples
plus bas.)
-
-v,
--verbose
-
Affiche des informations détaillées durant le traitement.
-
-z,
--analyze
-
Calcule des statistiques à l'usage de l'optimiseur.
vacuumdb accepte aussi les
arguments suivants comme paramètres de connexion :
-
-h
hôte
,
--host
hôte
-
Indique le nom d'hôte de la machine qui héberge le serveur de
bases de données. Si la valeur commence par une barre oblique
(/), elle est utilisée comme répertoire pour la socket de
domaine Unix.
-
-p
port
,
--port
port
-
Indique le port TCP ou le fichier local de socket de domaine
Unix sur lequel le serveur attend les connexions.
-
-U
utilisateur
,
--username
utilisateur
-
Nom d'utilisateur pour la connexion.
-
-W,
--password
-
Force la demande d'un mot de passe.
Environnement
-
PGDATABASE,
PGHOST,
PGPORT,
PGUSER
-
Paramètres de connexion par défaut.
Cet outil, comme la plupart des autres outils PostgreSQL™, utilise aussi les variables
d'environnement supportées par la bibliothèque libpq (voir Section 29.12,
« Variables d'environnement »).
Diagnostiques
En cas de difficultés, il peut être utile de consulter VACUUM et
psql(1), sections présentant les problèmes
éventuels et les messages d'erreur.
Le serveur de base de données doit fonctionner sur le serveur
cible. Les paramètres de connexion éventuels et les variables
d'environnement utilisés par la bibliothèque cliente libpq s'appliquent.
Notes
vacuumdb peut avoir besoin de se
connecter plusieurs fois au serveur PostgreSQL™. Afin d'éviter de saisir le
mot de passe à chaque fois, on peut utiliser un fichier ~/.pgpass. Voir Section 29.13,
« Fichier de mots de passe » pour plus
d'informations.
Exemples
Pour nettoyer la base de données test :
$ vacuumdb test
Pour nettoyer et analyser une base de données nommée grossebase :
$ vacuumdb --analyze grossebase
Pour nettoyer la seule table foo dans une
base de données nommée xyzzy et analyser
la seule colonne bar de la table :
$ vacuumdb --analyze --verbose --table 'foo(bar)' xyzzy