reindexdb — réindexe une base de données PostgreSQL
reindexdb [option-connexion...] [option...]
[
-S | --schema
schéma
]
...
[
-t | --table
table
]
...
[
-i | --index
index
]
... [nombase]
reindexdb [option-connexion...] [option...] -a | --all
reindexdb [option-connexion...] [option...] -s | --system [nombase]
reindexdb permet de reconstruire les index d'une base de données PostgreSQL.
reindexdb est un enrobage de la commande
REINDEX. Il n'y a pas
de différence entre la réindexation des bases de données par cette méthode
et par celles utilisant d'autres méthodes d'accès au serveur.
reindexdb accepte les arguments suivants en ligne de commande :
-a--allRéindexe toutes les bases de données.
--concurrently
Utilise l'option CONCURRENTLY. Voir REINDEX, où tous les détails de cette option
sont expliqués en détail
[-d] base[--dbname=]base
Spécifie le nom de la base à réindexer quand l'option
-a/--all n'est pas utilisée. Si le
nom de la base n'est pas fourni, il est lu à partir de la variable
d'environnement PGDATABASE. Si elle n'est pas
configurée, le nom de l'utilisateur pour la connexion est utilisé. Ce
nom de base peut être remplacé par une chaîne de connexion. Dans ce cas, les
paramètres de la chaîne de connexion surchargeront toutes les options
en ligne de commande conflictuelles.
-e--echoAffiche les commandes que reindexdb génère et envoie au serveur.
-i index--index=index
Ne recrée que l'index index.
Plusieurs indexes peuvent être récréés en même temps en utilisant
plusieurs fois l'option -i.
-j njobs--jobs=njobs
Exécute les commandes de réindexation en parallèle en exécutant
njobs commandes
simultanément. Cette option réduit le temps de traitement mais augmente
aussi la charge sur le serveur de bases de données.
reindexdb ouvrira njobs connexions à la base de données,
donc assurez-vous que le paramétrage de max_connections est suffisamment haut pour permettre
toutes les connexions.
Notez que cette option est incompatible avec les options
--index et --system.
-q--quietN'affiche pas la progression.
-s--systemRéindexe seulement les catalogues système de la base de données.
-S schema--schema=schema
Ne réindexe que le schéma schéma.
Plusieurs schémas peuvent être réindexés en même temps en utilisant
plusieurs fois l'option -S.
-t table--table=table
Ne réindexe que la table table.
Plusieurs tables peuvent être réindexées en même temps en utilisant
plusieurs fois l'option -t.
--tablespace=tablespaceSpecifies the tablespace where indexes are rebuilt. (This name is processed as a double-quoted identifier.)
-v--verboseAffiche des informations détaillées sur le traitement.
-V--versionAffiche la version de reindexdb, puis quitte.
-?--helpAffiche l'aide sur les arguments en ligne de commande de reindexdb, puis quitte.
reindexdb accepte aussi les arguments suivants en ligne de commande pour les paramètres de connexion :
-h hôte--host=hôtePrécise le nom d'hôte de la machine hébergeant le serveur. Si cette valeur débute par une barre oblique ('/' ou slash), elle est utilisée comme répertoire de socket UNIX.
-p port--port=portPrécise le port TCP ou le fichier de socket UNIX d'écoute.
-U nom_utilisateur--username=nom_utilisateurNom de l'utilisateur à utiliser 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--passwordForce reindexdb à demander un mot de passe avant la connexion à une base de données.
Cette option n'est jamais obligatoire car
reindexdb demandera automatiquement un
mot de passe si le serveur exige une authentification par mot de
passe. Néanmoins, reindexdb 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
Quand l'option -a/--all est utilisée,
il se connecte à cette base pour récupérer la liste des bases à traiter.
Si cette option n'est pas ajoutée, la base postgres
sera utilisée. Si cette base n'existe pas, la base
template1 sera utilisée. Le nom de la base peut être
remplacé par une chaîne de
connexion. Dans ce cas, les paramètres de la chaîne de connexion
surchargeront les options en ligne de commande conflictuelles. De plus,
les paramètres de la chaîne de connexion autres que le nom de la base
lui-même seront réutilisés lors de la connexion aux autres bases.
PGDATABASEPGHOSTPGPORTPGUSERParamètres par défaut pour la connexion
PG_COLOR
Indique s'il faut utiliser des couleurs dans les messages de diagnostic.
Les valeurs possibles sont always,
auto, never.
Cet outil, comme la plupart des autres outils PostgreSQL, utilise aussi les variables d'environnement supportées par la bibliothèque libpq (voir la Section 34.15).
En cas de difficultés, il peut être utile de consulter REINDEX et psql, pour les 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.
reindexdb 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 la Section 34.16 pour plus d'informations.
Pour réindexer la base de données test :
$reindexdb test
Pour réindexer la table foo et l'index
bar dans une base de données nommée
abcd :
$reindexdb --table=foo --index=bar abcd