In MySQL habe ich verwendetuse database_name;
Was ist das psql
Äquivalent?
postgresql
psql
Blankman
quelle
quelle
psql
das Front-End für PostgreSQL?Antworten:
In PostgreSQL können Sie den
\connect
Meta-Befehl des Client-Tools psql verwenden:oder kurz:
quelle
.sql
Datei funktionieren ? zB kann ichCREATE DATABASE mydb;
gefolgt sein\connect mydb
?psql
Befehle in eine SQL-Skriptdatei aufnehmen können.Sie können mit
\c <database>
oder eine Verbindung zu einer Datenbank herstellen\connect <database>
.quelle
An der PSQL-Eingabeaufforderung können Sie Folgendes tun:
quelle
Sie können die Datenbank auswählen, wenn Sie eine Verbindung mit psql herstellen. Dies ist praktisch, wenn Sie es über ein Skript verwenden:
quelle
\l
für Datenbanken\c
DatabaseName, um\df
für in einer bestimmten Datenbank gespeicherte Prozeduren zu db zu wechselnquelle
Verwenden des Meta-Befehls von psql
\c or \connect [ dbname [ username ] [ host ] [ port ] ] | conninfo
(siehe Dokumentation ).Beispiel:
\c MyDatabase
Beachten Sie, dass bei den Befehlen
\c
und\connect
meta zwischen Groß- und Kleinschreibung unterschieden wird .quelle
Verwenden Sie die folgende Anweisung, um zu verschiedenen Datenbanken zu wechseln, die sich in Ihrem postgreSQL-RDMS befinden
quelle
Wenn Sie beim Start zu einer bestimmten Datenbank wechseln möchten, versuchen Sie es
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql vigneshdb;
Standardmäßig wird Postgres auf dem Port 5432 ausgeführt. Wenn es auf einem anderen ausgeführt wird, müssen Sie den Port in der Befehlszeile übergeben.
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p2345 vigneshdb;
Mit einem einfachen Alias können wir es praktisch machen.
Erstellen Sie einen Alias in Ihrem
.bashrc
oder.bash_profile
Führen Sie
psql
in der Befehlszeile, wird es auf Standard - Datenbank wechseln;psql anotherdb
Beim Start wird zur Datenbank mit dem Namen im Argument gewechselt.quelle
Obwohl in der Frage nicht explizit angegeben, besteht der Zweck darin, eine Verbindung zu einem bestimmten Schema / einer bestimmten Datenbank herzustellen.
Eine andere Möglichkeit besteht darin, eine direkte Verbindung zum Schema herzustellen. Beispiel:
sudo -u postgres psql -d my_database_name
Quelle von
man psql
:quelle
Sie können auch wie folgt eine Verbindung zu einer Datenbank mit einer anderen ROLLE herstellen.
oder
quelle
Sie können eine Verbindung herstellen mit
\ c Datenbankname
Wenn Sie alle möglichen Befehle für POSTGRESQL oder SQL anzeigen möchten, gehen Sie folgendermaßen vor:
Schienen dbconsole (Sie werden auf Ihre aktuelle ENV-Datenbank zurückgeführt)
\? (Für POSTGRESQL-Befehle)
oder
\ h (Für SQL-Befehle)
Drücken Sie Q zum Beenden
quelle
Wie in den anderen Antworten erwähnt, müssen Sie die Verbindung ändern, um eine andere Datenbank zu verwenden.
Postgres arbeitet mit Schemata. Sie können mehrere Schemata in einer einzigen Datenbank haben. Wenn Sie also in derselben Datenbank arbeiten und das Schema ändern möchten, haben Sie folgende Möglichkeiten:
SET SCHEMA 'schema_name';
quelle
SET SCHEMA
wird alsSET SCHEMA 'schema_name'
nicht verwendetSET SCHEMA 'database_name'
. Dies ist also eine SQL-Methode zum Ändern des Schemas und nicht der Datenbank. Auch das ist ähnlich wieSET search_path TO schema_name
. Siehe Dokumentation hier oder hier .