dropdb — Supprimer une base de données PostgreSQL
dropdb
[option_connexion
...] [option
...] nom_base
dropdb détruit 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.
-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
Cet outil, comme la plupart des autres outils PostgreSQL, utilise aussi les variables d'environnement supportées par la bibliothèque libpq (voir Section 33.14).
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;