vacuumdb

Nom

vacuumdb — Nettoie et analyse une base Postgres
vacuumdb [ --analyze | -z ] [ --verbose | -v ] [ dbname ]
vacuumdb [ -h host ] [ -p
   port ]
    [ --table 'table [ (
   column [,...] ) ]' ]
    [ dbname ]
  

Entrées

vacuumdb accepte les arguments en ligne de commande suivants :

dbname

Spécifie le nom de la base a nettoyer ou a analyser. dbname par défaut à la valeur de la variable d'environnement USER.

--analyze, -z

Calcule les statistiques de la base pour être utilisées par l'optimiseur.

--verbose, -v

Imprime des informations détaillées pendant le processus.

--table table [ (column [,...]) ], -t table [ (column [,...]) ]

Nettoie ou analyse table seulement. Les noms de colonne peuvent être spécifiés seulement en conjonction avec l'option --analyze.

vacuumdb accepte également les arguments en ligne de commande suivants pour les paramètres de connection :

-h host

Spécifie le nom d'hôte de la machine sur laquelle le postmaster tourne. Par défaut c'est l'usage local de Unix domain socket plus qu'une connection IP...

-p port

Specifies the Internet TCP/IP port or local Unix domain socket file extension sur lequel le postmaster est en attente de connections. Le numéro de port par défaut est 5432, ou la valeur de la variable d'environnement PGPORT si elle est placée.

-u

Utilise l'authentification par mot de passe. Prompts pour username et password.

Sorties

vacuumdb exécute une commande VACUUM sur la base spécifiée, mais n'a pas de sortie explicite.

ERROR: Can't vacuum columns, only tables. You can 'vacuum analyze' columns. vacuumdb: database vacuum failed on dbname.

Le mode non-analyse nécessite le nettoyage complet des tables ou des bases. Les colonnes individuelles peuvent être spécifiées seulement lors de l'analyse d'une table spécifique.

Connection to database 'template1' failed. connectDB() failed: Is the postmaster running and accepting connections at 'UNIX Socket' on port 'port'?

vacuumdb ne peut pas se lier au processus postmaster sur l'hôte et le port spécifié. Si vous voyez ce message, assurez vous que le postmaster tourne sur l'hôte approprié et que vous avez spécifié le bon port. Si votre site utilise un système d'authentification, assurez vous que vous avez les bons paramètres pour vous connecter.

Connection to database 'dbname' failed. FATAL 1: SetUserId: user 'username' is not in 'pg_shadow'

Vous ne devez pas avoir une entrée valide dans la relation pg_shadow et n'avez pas les droits pour accéder à Postgres. Contactez votre administrateur Postgres.

Note

vacuumdb exécute en interne un VACUUM SQL. Si vous avez des problèmes en lançant vacuumdb, assurez vous que vous pouvez lancer VACUUM sur la base en utilisant, par exemple, psql.

Description

vacuumdb est un utilitaire de nettoyage des bases Postgres. vacuumdb génère aussi des statistiques internes utilisées par l'optimiseur de requêtes de Postgres.

Notes

Voir VACUUM pour plus de détails.

Utilisation

Pour nettoyer une base de même nom que l'utilisateur :
    % vacuumdb
   

Pour analyser une base nommée bigdb pour l'optimiseur :
    % vacuumdb --analyze bigdb
   

Pour analyser une colonne unique bar dans la table foo d'une base nommée xyzzy pour l'optimiseur :
    % vacuumdb --analyze --verbose --table 'foo(bar)' xyzzy