Antworten:
In PostgreSQL können Sie den \connect
Meta-Befehl des Client-Tools psql verwenden:
\connect DBNAME
oder kurz:
\c DBNAME
.sql
Datei funktionieren ? zB kann ich CREATE DATABASE mydb;
gefolgt sein \connect mydb
?
psql
Befehle in eine SQL-Skriptdatei aufnehmen können.
An der PSQL-Eingabeaufforderung können Sie Folgendes tun:
\connect (or \c) dbname
Sie können die Datenbank auswählen, wenn Sie eine Verbindung mit psql herstellen. Dies ist praktisch, wenn Sie es über ein Skript verwenden:
sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test
\l
für Datenbanken
\c
DatabaseName, um \df
für in einer bestimmten Datenbank gespeicherte Prozeduren zu db zu wechseln
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 .
Verwenden Sie die folgende Anweisung, um zu verschiedenen Datenbanken zu wechseln, die sich in Ihrem postgreSQL-RDMS befinden
\c databaseName
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
function psql()
{
db=vigneshdb
if [ "$1" != ""]; then
db=$1
fi
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p5432 $1
}
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.
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
:
-d dbname
--dbname=dbname
Specifies the name of the database to connect to. This is equivalent to specifying dbname as the first non-option argument on the command line.
If this parameter contains an = sign or starts with a valid URI prefix (postgresql:// or postgres://), it is treated as a conninfo string. See Section 31.1.1, “Connection Strings”, in the
documentation for more information.
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
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';
SET SCHEMA
wird als SET SCHEMA 'schema_name'
nicht verwendet SET SCHEMA 'database_name'
. Dies ist also eine SQL-Methode zum Ändern des Schemas und nicht der Datenbank. Auch das ist ähnlich wie SET search_path TO schema_name
. Siehe Dokumentation hier oder hier .
psql
das Front-End für PostgreSQL?