PostgreSQL Supprimer une base de données via la ligne de commande

⚡ Résumé intelligent

PostgreSQL La commande DROP DATABASE supprime définitivement une base de données, y compris toutes ses entrées de catalogue et ses fichiers de données. Vous pouvez l'exécuter depuis l'interface psql, supprimer une base de données visuellement dans pgAdmin ou utiliser la commande dropdb pour la supprimer à distance.

  • ⚠️ Action permanente : La commande DROP DATABASE supprime toutes les entrées du catalogue et le répertoire de données ; cette opération est donc irréversible.
  • (I.e. Réservé au propriétaire : Seul le propriétaire de la base de données peut la supprimer, et aucune session active ne peut être connectée à la base de données cible.
  • 💻 SQL Shell : Dans psql, exécutez DROP DATABASE nom après vous être connecté à une autre base de données, puis utilisez \l pour confirmer la suppression.
  • 🛡️ Clause SI EXISTE : L'ajout de la condition IF EXISTS renvoie un avertissement au lieu d'une erreur lorsque la base de données n'existe pas.
  • 🇧🇷 Interface graphique de pgAdmin : Dans l'arborescence des objets, cliquez avec le bouton droit sur la base de données, choisissez Supprimer/Déposer, puis confirmez sa suppression visuelle.
  • 🌐 Commande dropdb : L'utilitaire en ligne de commande dropdb permet de supprimer une base de données à distance, avec des options pour l'hôte, le port et la confirmation.

PostgreSQL SUPPRIMER/Supprimer la BASE DE DONNÉES

Déposer la base de données dans PostgreSQL

Le SUPPRIMER LA BASE DE DONNÉES in PostgreSQL est une instruction visant à supprimer définitivement toutes les entrées de catalogue et le répertoire de données. Le propriétaire de la base de données peut uniquement exécuter cette commande. Il ne peut pas être exécuté tant que quelqu'un est connecté à la base de données cible. Vous devez vous connecter à une autre base de données pour exécuter la commande DROP DATABASE.

Vous devez donc être extrêmement prudent lorsque vous effectuez cette opération.

PostgreSQL Syntaxe DROP DATABASE :

DROP DATABASE [IF EXISTS] name;

Ici:-

  • SI EXISTE : Il s’agit d’un paramètre facultatif. Dans le cas où la base de données n'existe pas, un avertissement s'affiche à la place d'une erreur
  • name : mentionnez le nom de la base de données que vous souhaitez supprimer

Voyons un PostgreSQL exemple de ligne de commande de suppression de base de données en action

PostgreSQL Supprimer la base de données à l'aide de SQL Shell (ligne de commande)

Vous trouverez ci-dessous un processus étape par étape pour supprimer la base de données dans la ligne de commande Postgres :

Étape 1) Utilisez la commande \l pour déterminer la base de données actuellement disponible.

PostgreSQL Supprimer la base de données à l'aide de SQL Shell

Étape 2) Pour supprimer la base de données dans Postgres, entrez la commande

drop database guru99

Utilisez la commande \l pour vérifier si la base de données est supprimée

PostgreSQL Supprimer la base de données à l'aide de SQL Shell

Étape 3) Essayez à nouveau de supprimer la même base de données, vous obtiendrez une erreur.

PostgreSQL Supprimer la base de données à l'aide de SQL Shell

Étape 4) Supprimez la base de données avec la clause IF exist et vous recevez un avertissement

drop database IF EXISTS guru99

PostgreSQL Supprimer la base de données à l'aide de SQL Shell

PostgreSQL Supprimer la base de données PgAdmin (GUI)

Étape 1) Faites un clic droit sur la base de données « guru99 » et cliquez sur « Supprimer/Supprimer ».

PostgreSQL Supprimer la base de données PgAdmin

Étape 2) Cliquez sur OK dans la fenêtre contextuelle de confirmation

PostgreSQL Supprimer la base de données PgAdmin

La base de données est supprimée.

commande dropdb

La commande dropdb vous permet de supprimer la base de données dans PostgreSQL à distance. Mais l'utilisateur doit être le propriétaire de la base de données pour pouvoir l'utiliser. PostgreSQL commande delete database pour supprimer cette base de données.

syntaxe:

dropdb [option...] dbname
Option Description
-e Commandes d'écho que dropdb crée et envoie au serveur.
-i Afficher une invite de vérification avant d'effectuer une tâche destructrice
-V Utilisez cette option pour imprimer la version dropdb.
-Aidez-moi Fournissez de l'aide avec les arguments de ligne de commande dropdb.
-h hôte Vous aide à spécifier le nom de l'hôte du système sur lequel le serveur est actuellement exécuté.
-p port Cette option vous permet de spécifier le port TCP ou l'extension de fichier socket de domaine Unix local sur lequel le serveur établit les connexions.
–si-existe Affiche un message d'avertissement au lieu d'un message d'erreur si la base de données n'existe pas.
-U nom d'utilisateur Nom d'utilisateur sous lequel se connecter.
-w Utilisez cette option si vous ne souhaitez pas recevoir de demande de mot de passe
-W Utilisez ce paramètre pour demander un mot de passe avant le dépôt.ping la base de données.
--maintenance-db=nom_db Spécifie le nom de la base de données à laquelle se connecter afin de supprimer la base de données cible.

PostgreSQL Exemple de suppression de la base de données

Nous voulons détruire une base de données guru99 à l'aide d'un serveur sur l'hôte rome, port 4565, avec vérification et vous devez utiliser la base de données de suppression suivante PostgreSQL commander:

dropdb -p 4565 -h rome -i -e guru99

La base de données « guru99 » sera définitivement supprimée.

Es-tu sûr? (o/n) si vous sélectionnez y, vous pouvez alors

SUPPRIMER LA BASE DE DONNÉES guru99 ;

FAQ

Non. La commande DROP DATABASE supprime définitivement le répertoire de données ; il n’existe donc pas de fonction d’annulation intégrée. La récupération n’est possible que si vous disposez d’une sauvegarde, d’un fichier de vidage ou d’un point de restauration antérieur configuré avant la suppression.

Cette erreur signifie que des sessions sont actives. Déconnectez-les ou exécutez la fonction `pg_terminate_backend()` sur leurs identifiants de processus depuis une autre base de données, puis réessayez la commande `DROP DATABASE`. Vous ne pouvez pas supprimer une base de données à laquelle vous êtes actuellement connecté.

DROP DATABASE est une instruction SQL exécutée dans psql ou pgAdmin. dropdb est un utilitaire en ligne de commande qui l'encapsule, permettant de supprimer une base de données à distance avec des options pour l'hôte, le port et les invites de confirmation.

L'IA peut générer la commande DROP DATABASE ou dropdb correcte, vous rappeler d'effectuer une sauvegarde au préalable et ajouter la clause IF EXISTS. Elle peut également lister les connexions actives à fermer avant la suppression.ping.

L'IA ne peut pas restaurer les données supprimées, mais elle peut vous guider dans la restauration à partir d'une sauvegarde ou d'un fichier de vidage, et vous aider à rédiger un plan de récupération à un point précis dans le temps afin de prévenir toute perte accidentelle de données à l'avenir.

Résumez cet article avec :