it-swarm.com.de

Befehl "use database_name" in PostgreSQL

Ich bin Anfänger in PostgreSQL.

Ich möchte vom Abfrageeditor von Postgres aus eine Verbindung zu einer anderen Datenbank herstellen - wie zum Beispiel mit dem Befehl USE von MySQL oder MS SQL Server.

Ich habe \c databasename gefunden, indem ich das Internet durchsucht habe, aber es läuft nur auf psql . Wenn ich es im PostgreSQL-Abfrageeditor versuche, wird ein Syntaxfehler angezeigt.

Ich muss die Datenbank durch pgscripting ändern. Weiß jemand, wie es geht?

317
sam

Wenn Sie eine Verbindung zu PostgreSQL herstellen, handelt es sich immer um eine bestimmte Datenbank. Um auf eine andere Datenbank zugreifen zu können, müssen Sie eine neue Verbindung herstellen.

Durch die Verwendung von \c in psql wird die alte Verbindung geschlossen und unter Verwendung der angegebenen Datenbank und/oder der angegebenen Anmeldeinformationen eine neue Verbindung hergestellt. Sie erhalten einen völlig neuen Backend-Prozess und alles.

337
kgrittn

Sie müssen die Datenbank angeben, die bei der Verbindung verwendet werden soll. Wenn Sie psql für Ihr Skript verwenden möchten, können Sie "\ c name_database" verwenden.

user_name=# CREATE DATABASE testdatabase; 
user_name=# \c testdatabase 

Zu diesem Zeitpunkt wird möglicherweise die folgende Ausgabe angezeigt

You are now connected to database "testdatabase" as user "user_name".
testdatabase=#

Beachten Sie, wie sich die Eingabeaufforderung ändert. Prost, ich habe mich gerade auch darum gekümmert, zu wenig Informationen über PostgreSQL im Vergleich zu MySQL und dem Rest aus meiner Sicht.

199
Eugene

In pgAdmin können Sie auch verwenden

SET search_path TO your_db_name;

18
Bart De Boeck

Das Grundproblem bei der Migration von MySQL war, dass der Begriff database auch in PostgreSQL derselbe war, aber nicht. Wenn wir also die Datenbank von unserer Anwendung oder von pgAdmin aus wechseln, ist das Ergebnis nicht wie erwartet. Wie in meinem Fall haben wir separate Schemata (unter Berücksichtigung der PostgreSQL-Terminologie hier.) Für jeden Kunden und ein separates Administrationsschema. In der Anwendung muss ich also zwischen den Schemas wechseln.

Dafür können wir den Befehl SET search_path verwenden. Dadurch wird das aktuelle Schema auf den angegebenen Schemanamen für die aktuelle Sitzung umgestellt.

Beispiel:

SET search_path = different_schema_name;

Dadurch wird das aktuelle_Schema in das angegebene Schema für die Sitzung geändert. Um es dauerhaft zu ändern, müssen wir Änderungen in der postgresql.conf -Datei vornehmen.

7
VPK

Verwenden Sie diesen Befehl, wenn Sie zum ersten Mal eine Verbindung zu psql herstellen.

=# psql <databaseName> <usernamePostgresql>
0
Sukma Saputra