PostgreSQL - DROP-Datenbank

In diesem Kapitel wird erläutert, wie Sie die Datenbank in PostgreSQL löschen. Es gibt zwei Möglichkeiten, eine Datenbank zu löschen:

  • Verwenden von DROP DATABASE, einem SQL-Befehl.
  • Verwenden von dropdb eine ausführbare Befehlszeilendatei.
Seien Sie vorsichtig, bevor Sie diesen Vorgang ausführen, da das Löschen einer vorhandenen Datenbank zum Verlust vollständiger Informationen führen würde, die in der Datenbank gespeichert sind.

DROP DATABASE verwenden

Dieser Befehl löscht eine Datenbank. Es entfernt die Katalogeinträge für die Datenbank und löscht das Verzeichnis, das die Daten enthält. Es kann nur vom Datenbankeigentümer ausgeführt werden. Dieser Befehl kann nicht ausgeführt werden, während Sie oder eine andere Person mit der Zieldatenbank verbunden sind (stellen Sie eine Verbindung zu postgres oder einer anderen Datenbank her, um diesen Befehl auszuführen).

Syntax

Die Syntax für DROP DATABASE ist unten angegeben -

DROP DATABASE [ IF EXISTS ] name

Parameter

In der Tabelle sind die Parameter mit ihren Beschreibungen aufgeführt.

S. Nr. Parameter & Beschreibung
1

IF EXISTS

Geben Sie keinen Fehler aus, wenn die Datenbank nicht vorhanden ist. In diesem Fall wird ein Hinweis ausgegeben.

2

name

Der Name der zu entfernenden Datenbank.

Wir können keine Datenbank löschen , die offene Verbindungen hat, einschließlich unserer eigenen Verbindung von psql oder pgAdmin III . Wir müssen zu einer anderen Datenbank oder Vorlage1 wechseln, wenn wir die Datenbank löschen möchten, mit der wir derzeit verbunden sind. Daher ist es möglicherweise bequemer, stattdessen das Programm dropdb zu verwenden, bei dem es sich um einen Wrapper um diesen Befehl handelt.

Beispiel

Das Folgende ist ein einfaches Beispiel, das gelöscht wird testdb aus Ihrem PostgreSQL-Schema -

postgres=# DROP DATABASE testdb;
postgres-#

Dropdb-Befehl verwenden

PostgresSQL-Befehlszeile ausführbar dropdbist ein Befehlszeilen-Wrapper um den SQL-Befehl DROP DATABASE . Es gibt keinen effektiven Unterschied zwischen dem Löschen von Datenbanken über dieses Dienstprogramm und über andere Methoden für den Zugriff auf den Server. dropdb zerstört eine vorhandene PostgreSQL-Datenbank. Der Benutzer, der diesen Befehl ausführt, muss ein Datenbank-Superuser oder der Eigentümer der Datenbank sein.

Syntax

Die Syntax für dropdb lautet wie folgt :

dropdb  [option...] dbname

Parameter

In der folgenden Tabelle sind die Parameter mit ihren Beschreibungen aufgeführt

S. Nr. Parameter & Beschreibung
1

dbname

Der Name einer zu löschenden Datenbank.

2

option

Befehlszeilenargumente, die dropdb akzeptiert.

Optionen

In der folgenden Tabelle sind die Befehlszeilenargumente aufgeführt, die dropdb akzeptiert -

S. Nr. Option & Beschreibung
1

-e

Zeigt die Befehle an, die an den Server gesendet werden.

2

-i

Gibt eine Überprüfungsaufforderung aus, bevor destruktive Aktionen ausgeführt werden.

3

-V

Drucken Sie die Dropdb-Version und beenden Sie sie.

4

--if-exists

Geben Sie keinen Fehler aus, wenn die Datenbank nicht vorhanden ist. In diesem Fall wird ein Hinweis ausgegeben.

5

--help

Zeigen Sie Hilfe zu Dropdb-Befehlszeilenargumenten an und beenden Sie das Programm.

6

-h host

Gibt den Hostnamen des Computers an, auf dem der Server ausgeführt wird.

7

-p port

Gibt den TCP-Port oder die lokale UNIX-Domain-Socket-Dateierweiterung an, auf der der Server auf Verbindungen wartet.

8

-U username

Benutzername, unter dem eine Verbindung hergestellt werden soll.

9

-w

Geben Sie niemals eine Passwortabfrage aus.

10

-W

Erzwingen Sie, dass dropdb nach einem Kennwort fragt, bevor Sie eine Verbindung zu einer Datenbank herstellen.

11

--maintenance-db=dbname

Gibt den Namen der Datenbank an, zu der eine Verbindung hergestellt werden soll, um die Zieldatenbank zu löschen.

Beispiel

Das folgende Beispiel zeigt das Löschen einer Datenbank an der Eingabeaufforderung des Betriebssystems.

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

Der obige Befehl löscht die Datenbank testdb. Hier habe ich das benutztpostgres (gefunden unter den pg_roles von template1) Benutzername zum Löschen der Datenbank.