2017-07-18 4 views
2

Ich bin ein kompletter Anfänger mit postgresql. Ich habe eine Testdatenbank mit dem Namen iswdp erstellt und möchte sie nun löschen. Wenn ich das tue:dropdb mydb funktioniert nicht in Postgres

der Befehl gibt keine Ausgabe zurück und wenn ich \ list die Tabelle iswdp ist immer noch da.

dropdb iswdp; 

Rückkehr:

ERROR: Syntaxfehler bei oder in der Nähe von "dropdb" Linie 1: dropdb iswdp

I verwendet:

SELECT pg_terminate_backend(pg_stat_activity.pid) 
FROM pg_stat_activity 
WHERE datname = current_database() 
AND pid <> pg_backend_pid(); 

die ich aus einer anderen Stackoverflow Post gefunden Um die Verbindung zu allen Datenbanken zu trennen, versuchte dropdb iswdp erneut mit dem gleichen Ergebnis.

Ich stecke fest, kann mir jemand helfen? Ich mache das auf Linux Mint von der Bash-Terminal.

Antwort

1

Der Befehl dropdb ist ein Befehl, der von einer Shell-Eingabeaufforderung ausgegeben wird. Von einer SQL-Eingabeaufforderung (wie psql) möchten Sie einen DROP DATABASE Befehl ausgeben.

Ich empfehle das Öffnen psql und Ausgabe DROP DATABASE iswdp;. Das sollte funktionieren.

Sie erhalten möglicherweise einen Fehler, der aussieht wie ERROR: cannot drop the currently open database, was passieren wird, wenn Sie eine Verbindung zu iswdp herstellen und versuchen, es fallen zu lassen. Versuchen Sie stattdessen, sich mit der postgres-Datenbank zu verbinden, und geben Sie denselben DROP DATABASE-Befehl aus. Es sollte funktionieren.

+0

Vielen Dank !!! Problem gelöst. – William234234

0

dropdb ist ein Kommando von der Shell nicht vom psql-Programm, von psql ist die commnado-Datenbank iswp;

Verwandte Themen