Wie erhalte ich den Namen der aktuellen Datenbank in PostgreSQL?


81

Unter Verwendung \c <database_name>von PostgreSQL wird eine Verbindung zur angegebenen Datenbank hergestellt.

Wie kann der Name der aktuellen Datenbank ermittelt werden?

Eingabe:

my_db> current_database();

produziert:

ERROR:  syntax error at or near "current_database"
LINE 1: current_database();

7
select current_database ()
Mihai

1
Fügen Sie zuvor ein SELECT hinzu.
Mihai

4
Sie wissen, dass die Eingabeaufforderung my_dbbereits die aktuelle Datenbank anzeigt?
a_horse_with_no_name

Antworten:


130

Die Funktion current_database()gibt den Namen der aktuellen Datenbank zurück:

 SELECT current_database();

Da es sich um eine SQL-Funktion handelt, müssen Sie sie als Teil einer SQL-Anweisung aufrufen. PostgreSQL unterstützt das Ausführen von Funktionen als eigenständige Abfragen nicht und hat keine CALLAnweisung wie einige andere SQL-Engines. Sie SELECTrufen also nur eine Funktion auf.


33

Sie können "\ conninfo" in psql verwenden


Ab psqlVersion 9.1. Das sollte jedoch im Grunde alle psqlKunden dieser Tage abdecken .
Dezso

26
\c

druckt so etwas wie

You are now connected to database "foobar" as user "squanderer".

Verwenden Sie diese Option, wenn es Ihnen nichts ausmacht, eine neue Verbindung herzustellen, da dies der Fall ist. Mit \ connect (abgekürzt als \ c) ohne alle Parameter wird eine neue Verbindung erstellt, die mit der aktuellen identisch ist. Die aktuelle Verbindung ist geschlossen.

Weitere Informationen finden Sie in der \ connect-Befehlsspezifikation unter http://www.postgresql.org/docs/9.3/static/app-psql.html :

Wenn DB-Name, Benutzername, Host oder Port weggelassen werden (...), wird der Wert dieses Parameters aus der vorherigen Verbindung verwendet.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.