PostgreSQLLa base de données la plus sophistiquée au monde.
Documentation PostgreSQL 13.18 » Référence » Applications client de PostgreSQL » reindexdb

reindexdb

reindexdb — réindexe une base de données PostgreSQL

Synopsis

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]

Description

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.

Options

reindexdb accepte les arguments suivants en ligne de commande :

-a
--all

Ré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
--echo

Affiche 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
--quiet

N'affiche pas la progression.

-s
--system

Ré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.

-v
--verbose

Affiche des informations détaillées sur le traitement.

-V
--version

Affiche la version de reindexdb, puis quitte.

-?
--help

Affiche 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ôte

Pré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=port

Précise le port TCP ou le fichier de socket UNIX d'écoute.

-U nom_utilisateur
--username=nom_utilisateur

Nom 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
--password

Force 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

Indique le nom de la base où se connecter pour récupérer la liste des bases à réindexer. Cette option est intéressante quand l'option -a/--all est utilisée. 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.

Environnement

PGDATABASE
PGHOST
PGPORT
PGUSER

Paramè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 33.14).

Diagnostiques

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.

Notes

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 33.15 pour plus d'informations.

Exemples

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
   

Voir aussi

REINDEX