PostgreSQL - Base de données DROP

Dans ce chapitre, nous verrons comment supprimer la base de données dans PostgreSQL. Il existe deux options pour supprimer une base de données -

  • Utilisation de DROP DATABASE, une commande SQL.
  • Utilisation de dropdb un exécutable de ligne de commande.
Soyez prudent avant d'utiliser cette opération car la suppression d'une base de données existante entraînerait la perte des informations complètes stockées dans la base de données.

Utilisation de DROP DATABASE

Cette commande supprime une base de données. Il supprime les entrées de catalogue pour la base de données et supprime le répertoire contenant les données. Il ne peut être exécuté que par le propriétaire de la base de données. Cette commande ne peut pas être exécutée tant que vous ou quelqu'un d'autre êtes connecté à la base de données cible (connectez-vous à postgres ou à toute autre base de données pour émettre cette commande).

Syntaxe

La syntaxe de DROP DATABASE est donnée ci-dessous -

DROP DATABASE [ IF EXISTS ] name

Paramètres

Le tableau répertorie les paramètres avec leurs descriptions.

S. Non. Paramètre et description
1

IF EXISTS

Ne lancez pas d'erreur si la base de données n'existe pas. Un avis est émis dans ce cas.

2

name

Le nom de la base de données à supprimer.

Nous ne pouvons pas supprimer une base de données qui a des connexions ouvertes, y compris notre propre connexion depuis psql ou pgAdmin III . Nous devons basculer vers une autre base de données ou modèle1 si nous voulons supprimer la base de données à laquelle nous sommes actuellement connectés. Ainsi, il peut être plus pratique d'utiliser le programme dropdb à la place, qui est un wrapper autour de cette commande.

Exemple

Ce qui suit est un exemple simple, qui supprimera testdb à partir de votre schéma PostgreSQL -

postgres=# DROP DATABASE testdb;
postgres-#

Utilisation de la commande dropdb

Exécutable de ligne de commande PostgresSQL dropdbest un wrapper de ligne de commande autour de la commande SQL DROP DATABASE . Il n'y a pas de différence effective entre la suppression de bases de données via cet utilitaire et via d'autres méthodes d'accès au serveur. dropdb détruit une base de données PostgreSQL existante. L'utilisateur qui exécute cette commande doit être un superutilisateur de la base de données ou le propriétaire de la base de données.

Syntaxe

La syntaxe de dropdb est la suivante:

dropdb  [option...] dbname

Paramètres

Le tableau suivant répertorie les paramètres avec leurs descriptions

S. Non. Paramètre et description
1

dbname

Le nom d'une base de données à supprimer.

2

option

arguments de ligne de commande, que dropdb accepte.

Options

Le tableau suivant répertorie les arguments de ligne de commande acceptés par dropdb -

S. Non. Option et description
1

-e

Affiche les commandes envoyées au serveur.

2

-i

Émet une invite de vérification avant de faire quoi que ce soit de destructeur.

3

-V

Imprimez la version dropdb et quittez.

4

--if-exists

Ne lancez pas d'erreur si la base de données n'existe pas. Un avis est émis dans ce cas.

5

--help

Afficher l'aide sur les arguments de ligne de commande dropdb et quitter.

6

-h host

Spécifie le nom d'hôte de la machine sur laquelle le serveur s'exécute.

sept

-p port

Spécifie le port TCP ou l'extension de fichier socket du domaine UNIX local sur lequel le serveur écoute les connexions.

8

-U username

Nom d'utilisateur sous lequel se connecter.

9

-w

N'émettez jamais une invite de mot de passe.

dix

-W

Force dropdb à demander un mot de passe avant de se connecter à une base de données.

11

--maintenance-db=dbname

Spécifie le nom de la base de données à laquelle se connecter afin de supprimer la base de données cible.

Exemple

L'exemple suivant illustre la suppression d'une base de données de l'invite de commande du système d'exploitation -

dropdb -h localhost -p 5432 -U postgress testdb
Password for user postgress: ****

La commande ci-dessus supprime la base de données testdb. Ici, j'ai utilisé lepostgres (trouvé sous les pg_roles de template1) nom d'utilisateur pour supprimer la base de données.