GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

PostgreSQL Drop-Datenbank mit Beispielen

Einführung

PostgreSQL bietet zwei Befehlszeilenmethoden, um eine Datenbank zu löschen – mithilfe von DROP DATABASE -Anweisung oder ein Shell-Dienstprogramm.

Das Entfernen nicht verwendeter Datenbanken ist eine bewährte Vorgehensweise und trägt dazu bei, den Arbeitsbereich sauber zu halten. Beachten Sie jedoch, dass beim Löschen einer vorhandenen PostgreSQL-Datenbank alle Katalogeinträge und Daten für diese Datenbank entfernt werden.

Lesen Sie weiter, um zu erfahren, wie Sie eine Datenbank in PostgreSQL löschen.

Voraussetzungen

  • PostgreSQL 10 oder höher installiert und konfiguriert (befolgen Sie unsere Anleitung für Ubuntu oder Windows; falls bereits installiert, überprüfen Sie die PostgreSQL-Version auf dem System).
  • Zugriff auf das Terminal mit sudo-Berechtigungen.

DROP DATABASE-Anweisung

Wichtig :NUR der Datenbankbesitzer kann eine Datenbank löschen.

Die erste Methode zum Entfernen einer PostgreSQL-Datenbank ist die Verwendung der folgenden SQL-Anweisung:

DROP DATABASE <database name>;

Der Befehl entfernt das Verzeichnis, das die Datenbankinformationen und die Katalogeinträge enthält. Nur der Datenbankbesitzer kann DROP DATABASE ausführen Befehl. Wenn jemand gerade die Datenbank verwendet, wird der Befehl nicht ausgeführt.

Um zu sehen, wie DROP DATABASE funktioniert, gehen Sie wie folgt vor:

1. Öffnen Sie das Terminal (STRG +ALT +T ).

2. Verbinden Sie sich mit PostgreSQL:

sudo -i -u postgres psql

3. Erstellen Sie eine Datenbank für das Beispiel:

CREATE DATABASE example;

Das Terminal gibt die ausgeführte Anweisung aus.

4. Alle Datenbanken auflisten mit:

\l

Die Datenbank aus dem vorherigen Schritt wird in der Liste angezeigt.

5. Löschen Sie die Datenbank mit:

DROP DATABASE example;

Die Ausgabe zeigt die ausgeführte Anweisung.

6. Alle Datenbanken erneut auflisten:

\l

Die Beispieldatenbank erscheint nicht mehr in der Liste.

WENN vorhanden

Der IF EXISTS Option ist für alle Versionen offen, in denen DROP DATABASE ist verfügbar. Die vollständige Befehlssyntax mit dem IF EXISTS Option ist wie folgt:

DROP DATABASE IF EXISTS <database name>;

Die Option prüft zuerst, ob eine Datenbank existiert, bevor sie gelöscht wird. Wenn eine Datenbank vorhanden ist, löscht der Befehl die Datenbank. Wenn jedoch keine Datenbank vorhanden ist, gibt der Befehl eine informative Hinweismeldung aus.

Führen Sie die folgenden Schritte aus, um zu testen, wie der Befehl funktioniert:

1. Erstellen Sie eine Beispieldatenbank:

CREATE DATABASE example;

2. Löschen Sie die Datenbank mit IF EXISTS Möglichkeit:

DROP DATABASE IF EXISTS example;

Das Ergebnis ist identisch mit der Verwendung von DROP DATABASE falls die Datenbank existiert.

3. Die Datenbank ist nicht mehr verfügbar. Führen Sie den Befehl erneut aus, um die Ausgabe anzuzeigen:

DROP DATABASE IF EXISTS example;

Eine Hinweismeldung wird gedruckt, die besagt, dass die Datenbank nicht existiert.

4. Um den Unterschied zwischen der Verwendung von IF EXISTS zu sehen und ohne die Option, führen Sie den folgenden Befehl aus:

DROP DATABASE example;

Verwenden von DROP DATABASE ohne IF EXISTS Option auf einer nicht existierenden Datenbank gibt eine Fehlermeldung aus.

MIT (KRAFT)

Der WITH (FORCE) Option ist in PostgreSQL Version 13 und höher verfügbar.

Die DROP DATABASE -Methode entfernt die Datenbank nicht, wenn sie verwendet wird. Wenn die Datenbank verwendet wird, gibt das Terminal einen Fehler aus, dass eine Datenbanksitzung geöffnet ist.

Fügen Sie WITH (FORCE) hinzu Option, um die Sitzung zwangsweise zu schließen und die Datenbank zu löschen:

DROP DATABASE <database name> WITH (FORCE);

Wenn möglich, schließt Postgres die Sitzung des Benutzers und löscht die Datenbank zwangsweise.

Das dropdb-Dienstprogramm

Das Shell-Dienstprogramm dropdb ist ein Wrapper für DROP DATABASE Befehl. Tatsächlich sind die beiden Methoden identisch. dropdb bietet jedoch zusätzliche Optionen, darunter das Entfernen von Datenbanken aus der Ferne.

Die grundlegende Syntax ist:

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

Optionen

Die folgende Tabelle zeigt alle möglichen Optionen bei der Verwendung des dropdb-Dienstprogramms.

Option Typ Beschreibung
-e
--echo
Option Druckt die Befehle, die dropdb an den Server sendet.
-f
--force
Option Versucht, alle aktuellen Verbindungen zu beenden, bevor die Datenbank gelöscht wird.
-i
--interactive
Option Fordert zur Überprüfung auf, bevor das Löschen der Datenbank ausgeführt wird.
-V
--version
Option Die Konsole gibt die Utility-Version aus.
--if-exists Option Druckt einen Hinweis anstelle eines Fehlers, wenn die Datenbank nicht existiert.
-?
--help
Option Hilfemenü anzeigen.
-h <host>
--host=<host>
Verbindungsparameter Gibt den Hostnamen des Rechners an, auf dem der Server läuft.
-p <port>
--port=<port>
Verbindungsparameter Gibt den TCP-Port an, an dem der Server lauscht.
-U <username>
--username  <username>
Verbindungsparameter Verbinden Sie sich als der angegebene Benutzer.
-w
--no-password
Verbindungsparameter Geben Sie niemals die Passwortabfrage aus. Nützlich für Batch- und Skript-Jobs, wenn kein Benutzer anwesend ist.
-W
--password
Verbindungsparameter Passwortabfrage erzwingen. Ohne die Option verliert der Server den Verbindungsversuch, wenn ein Passwort erforderlich ist.
--maintenance-db=<database name> Verbindungsparameter Die Option gibt den Datenbanknamen Connection an.

Probieren Sie zum Beispiel den folgenden Befehl aus, um zu sehen, wie dropdb mit -i funktioniert und -e Optionen:

dropdb -i -e example

Das Programm fragt vor dem Löschen wegen des -i nach einer Bestätigung -Tag.

Drücken Sie y bestätigen. Das Programm gibt die generierten Befehle an den Server aus. Da die Datenbank nicht existiert, gibt das Programm einen Fehler aus und wird beendet.


Ubuntu
  1. Linux-Quellbefehl mit Beispielen

  2. wc Linux-Befehl mit Beispielen

  3. Nohup-Befehl mit Beispielen

  4. JQ-Befehl in Linux mit Beispielen

  5. PostgreSQL-Datenbankserver

Wall-Befehl in Linux mit Beispielen

Sortierbefehl in Linux mit Beispielen

Usermod-Befehl mit Beispielen

Linux-IP-Befehl mit Beispielen

w Befehl mit Beispielen in Linux erklärt

Verlaufsbefehl mit Beispielen