dropdb — Supprimer une base de données PostgreSQL
dropdb
[option_connexion
...] [option
...] nom_base
dropdb supprime une base de données PostgreSQL. L'utilisateur qui exécute cette commande doit être superutilisateur ou le propriétaire de la base de données.
dropdb est un enrobage de la commande
SQL DROP
DATABASE
. Il n'y a aucune
différence réelle entre la suppression de bases de données avec cet outil
et celles qui utilisent d'autres méthodes d'accès au serveur.
dropdb accepte les arguments suivants en ligne de commande :
nom_base
Le nom de la base de données à supprimer.
-e
--echo
Les commandes engendrées et envoyées au serveur par dropdb sont affichées.
-f
--force
Tente de fermer toutes les connexions existantes à la base de données cible avant de la supprimer. Voir DROP DATABASE pour plus d'informations sur cette option.
-i
--interactive
Une confirmation préalable à toute destruction est exigée.
-V
--version
Affiche la version de dropdb puis quitte.
--if-exists
Permet de ne pas déclencher d'erreur si la base de données n'existe pas. Un simple message d'avertissement est retourné dans ce cas.
-?
--help
Affiche l'aide sur les arguments en ligne de commande de dropdb, puis quitte.
dropdb accepte aussi les arguments suivants en ligne de commande pour les paramètres de connexion :
-h hôte
--host=hôte
Le nom d'hôte de la machine sur laquelle le serveur fonctionne. Si la valeur débute par une barre oblique (/ ou slash), elle est utilisée comme répertoire de la socket de domaine Unix.
-p port
--port=port
Le port TCP ou l'extension du fichier de la socket locale de domaine Unix sur laquelle 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 dropdb à demander un mot de passe avant la connexion à une base de données.
Cette option n'est jamais obligatoire car
dropdb demandera automatiquement un mot de
passe si le serveur exige une authentification par mot de passe.
Néanmoins, dropdb 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
supprimer la base de donnée spécifiée. Si elle n'est pas spécifiée, la
base de donnée postgres
est utilisée ; si elle
n'existe pas (ou si il s'agit du nom de la base à supprimer), la base
template1
est utilisée.
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.
PGHOST
PGPORT
PGUSER
Paramètres de connexion par défaut
PG_COLOR
Indique s'il faut utiliser la couleur 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 Section 34.15).
En cas de difficultés, il peut être utile de consulter DROP DATABASE et psql, 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.
Détruire la base de données demo
sur le serveur de bases
de données par défaut :
$
dropdb demo
Détruire la base de données demo
en utilisant le serveur
hébergé sur l'hôte eden
, qui écoute sur le port 5000,
avec demande de confirmation et affichage de la commande
sous-jacente :
$
dropdb -p 5000 -h eden -i -e demo
Database "demo" will be permanently deleted. Are you sure? (y/n)
y
DROP DATABASE demo;