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

Version anglaise

clusterdb

clusterdb — Grouper une base de données PostgreSQL

Synopsis

clusterdb [connection-option...] [ --verbose | -v ] [ --table | -t table ] ... [nom_base]

clusterdb [connection-option...] [ --verbose | -v ] --all | -a

Description

clusterdb est un outil de regroupage de tables au sein d'une base de données PostgreSQL™. Il trouve les tables précédemment groupées et les groupe à nouveau sur l'index utilisé lors du groupement initial. Les tables qui n'ont jamais été groupées ne sont pas affectées.

clusterdb est un enrobage de la commande SQL CLUSTER(7). Il n'y a pas de différence réelle entre le groupage de bases par cet outil ou par d'autres méthodes d'accès au serveur.

Options

clusterdb accepte les arguments suivants en ligne de commande :

-a, --all

Grouper toutes les bases de données.

[-d] nom_base, [--nombase=]nom_base

Le nom de la base de données à grouper. Si ni ce nom, ni l'option -a (ou --all) ne sont précisés, le nom de la base de données est lu à partir de la variable d'environnement PGDATABASE. Si cette dernière n'est pas initialisée, le nom de l'utilisateur spécifié pour la connexion est utilisé.

-e, --echo

Les commandes engendrées par clusterdb et envoyées au serveur sont affichées.

-q, --quiet

Aucun message de progression n'est affiché.

-t table, --table=table

Seule la table table est groupée. Plusieurs tables peuvent être traitées en même temps en utilisant plusieurs fois l'option -t.

-v, --verbose

Affiche des informations détaillées lors du traitement.

-V, --version

Affiche la version de clusterdb puis quitte.

-?, --help

Affiche l'aide sur les arguments en ligne de commande de clusterdb, puis quitte

clusterdb accepte aussi les arguments suivants en ligne de commande pour les paramètres de connexion :

-h hôte, --host hôte

Le nom de la machine hôte sur laquelle le serveur fonctionne. Si la valeur commence par une barre oblique (slash), elle est utilisée comme répertoire du socket de domaine Unix.

-p port, --port=port

Le port TCP ou l'extension du fichier du socket local de domaine Unix sur lequel le serveur attend les connexions.

-U nomutilisateur, --username=nomutilisateur

Le nom de l'utilisateur utilisé 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 clusterdb à demander un mot de passe avant la connexion à une base de données.

Cette option n'est jamais obligatoire car clusterdb demandera automatiquement un mot de passe si le serveur exige une authentification par mot de passe. Néanmoins, clusterdb 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.

--maintenance-db=nom-base-maintenance

Spécifie le nom de la base de données à laquelle se connecter pour trouver les bases qui seront regroupées. Si elle n'est pas spécifiée, la base de données postgres est utilisée; si elle n'existe pas, la base template1 est utilisée à la place.

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

Diagnostiques

En cas de difficulté, voir CLUSTER(7) et psql(1) qui présentent les problèmes et messages d'erreur éventuels. Le serveur de bases de données doit fonctionner sur l'hôte cible. De plus, toutes les configurations de connexion par défaut et variables d'environnement utilisées par la bibliothèque client libpq s'appliquent.

Exemples

Grouper la base de données test :

$ clusterdb test

Grouper la seule table foo de la base de données nommée xyzzy :

$ clusterdb --table foo xyzzy

Voir aussi

CLUSTER(7)