GNU/Linux >> Tutoriels Linux >  >> Ubuntu

PostgreSQL Drop Database avec des exemples

Présentation

PostgreSQL propose deux méthodes de ligne de commande pour supprimer une base de données - en utilisant DROP DATABASE instruction ou un utilitaire shell.

La suppression des bases de données inutilisées est une bonne pratique et permet de garder l'espace de travail propre. Cependant, gardez à l'esprit que la suppression d'une base de données PostgreSQL existante supprime toutes les entrées de catalogue et les données de cette base de données.

Continuez à lire pour savoir comment déposer une base de données dans PostgreSQL.

Prérequis

  • PostgreSQL 10 ou supérieur installé et configuré (suivez notre guide pour Ubuntu ou Windows ; si déjà installé, vérifiez la version de PostgreSQL sur le système).
  • Accès au terminal avec les privilèges sudo.

Énoncé DROP DATABASE

Important :SEUL le propriétaire de la base de données peut supprimer une base de données.

La première méthode pour supprimer une base de données PostgreSQL consiste à utiliser l'instruction SQL suivante :

DROP DATABASE <database name>;

La commande supprime le répertoire contenant les informations de la base de données et les entrées du catalogue. Seul le propriétaire de la base de données peut exécuter le DROP DATABASE commande. Si quelqu'un utilise actuellement la base de données, la commande ne s'exécute pas.

Pour voir comment DROP DATABASE fonctionne, procédez comme suit :

1. Ouvrez le terminal (CTRL +ALT +T ).

2. Connectez-vous à PostgreSQL :

sudo -i -u postgres psql

3. Créez une base de données pour l'exemple :

CREATE DATABASE example;

Le terminal imprime l'instruction exécutée.

4. Lister toutes les bases de données avec :

\l

La base de données de l'étape précédente apparaît dans la liste.

5. Déposez la base de données avec :

DROP DATABASE example;

La sortie montre l'instruction exécutée.

6. Répertoriez toutes les bases de données :

\l

L'exemple de base de données n'apparaît plus dans la liste.

SI existe

Le IF EXISTS l'option est ouverte pour toutes les versions où DROP DATABASE est disponible. La syntaxe complète de la commande avec le IF EXISTS l'option est la suivante :

DROP DATABASE IF EXISTS <database name>;

L'option vérifie d'abord si une base de données existe avant de la supprimer. Si une base de données existe, la commande supprime la base de données. Cependant, si une base de données n'existe pas, la commande imprime un message informatif.

Pour tester le fonctionnement de la commande, suivez les étapes ci-dessous :

1. Créez un exemple de base de données :

CREATE DATABASE example;

2. Supprimez la base de données à l'aide de IF EXISTS choix :

DROP DATABASE IF EXISTS example;

Le résultat est identique à l'utilisation de DROP DATABASE si la base de données existe.

3. La base de données n'est plus disponible. Réexécutez la commande pour voir le résultat :

DROP DATABASE IF EXISTS example;

Un message d'avertissement s'imprime indiquant que la base de données n'existe pas.

4. Pour voir la différence entre l'utilisation de IF EXISTS et en omettant l'option, exécutez la commande suivante :

DROP DATABASE example;

Utilisation de DROP DATABASE sans le IF EXISTS option sur une base de données inexistante génère un message d'erreur.

AVEC (FORCER)

Le WITH (FORCE) L'option est disponible dans PostgreSQL version 13 et supérieure.

La DROP DATABASE La méthode ne supprimera pas la base de données si elle est en cours d'utilisation. Si la base de données est en cours d'utilisation, le terminal imprime une erreur indiquant qu'une session de base de données est ouverte.

Ajoutez le WITH (FORCE) option pour fermer de force la session et supprimer la base de données :

DROP DATABASE <database name> WITH (FORCE);

Si possible, Postgres ferme la session de l'utilisateur et supprime la base de données avec force.

L'utilitaire dropdb

L'utilitaire shell dropdb est un wrapper pour la DROP DATABASE commande. En effet, les deux méthodes sont identiques. Cependant, dropdb offre des options supplémentaires, notamment la suppression de bases de données à distance.

La syntaxe de base est :

dropdb <connection parameters> <options> <database name>

Options

Le tableau ci-dessous montre toutes les options possibles lors de l'utilisation de l'utilitaire dropdb.

Option Type Description
-e
--echo
Option Imprime les commandes que dropdb envoie au serveur.
-f
--force
Option Tente de mettre fin à toutes les connexions en cours avant de supprimer la base de données.
-i
--interactive
Option Demande de vérification avant d'exécuter la suppression de la base de données.
-V
--version
Option La console imprime la version de l'utilitaire.
--if-exists Option Imprime un avis au lieu d'une erreur si la base de données n'existe pas.
-?
--help
Option Afficher le menu d'aide.
-h <host>
--host=<host>
Paramètre de connexion Spécifie le nom d'hôte de la machine sur laquelle le serveur est exécuté.
-p <port>
--port=<port>
Paramètre de connexion Spécifie le port TCP sur lequel le serveur écoute.
-U <username>
--username  <username>
Paramètre de connexion Se connecter en tant qu'utilisateur spécifié.
-w
--no-password
Paramètre de connexion N'émettez jamais l'invite de mot de passe. Utile pour les travaux par lots et de script lorsqu'aucun utilisateur n'est présent.
-W
--password
Paramètre de connexion Forcer l'invite de mot de passe. Sans l'option, le serveur perd la tentative de connexion si un mot de passe est nécessaire.
--maintenance-db=<database name> Paramètre de connexion L'option spécifie la connexion du nom de la base de données.

Par exemple, essayez la commande suivante pour voir comment dropdb fonctionne avec le -i et -e option :

dropdb -i -e example

Le programme demande une confirmation avant la suppression à cause du -i balise.

Appuyez sur y confirmer. Le programme imprime les commandes générées sur le serveur. Comme la base de données est inexistante, le programme génère une erreur et se termine.


Ubuntu
  1. Commande source Linux avec exemples

  2. Commande Linux wc avec exemples

  3. Commande Nohup avec exemples

  4. Commande JQ sous Linux avec exemples

  5. Serveur de base de données PostgreSQL

Commande murale sous Linux avec exemples

Commande de tri sous Linux avec des exemples

Commande Usermod avec exemples

Commande IP Linux avec exemples

w Commande expliquée avec des exemples sous Linux

Commande d'historique avec exemples