Odpowiedzi:
W PostgreSQL możesz użyć \connect
meta-polecenia narzędzia klienta psql:
\connect DBNAME
lub w skrócie:
\c DBNAME
.sql
pliku? np. czy mogłem CREATE DATABASE mydb;
śledzić \connect mydb
?
psql
poleceń do pliku skryptu SQL.
W wierszu polecenia PSQL możesz wykonać:
\connect (or \c) dbname
Możesz wybrać bazę danych podczas łączenia z psql. Jest to przydatne, gdy używasz go ze skryptu:
sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test
\l
dla baz danych
\c
DatabaseName, aby przełączyć na db
\df
dla procedur przechowywanych w konkretnej bazie danych
Korzystanie z meta-polecenia psql \c or \connect [ dbname [ username ] [ host ] [ port ] ] | conninfo
(patrz dokumentacja ).
Przykład: \c MyDatabase
Należy zauważyć, że \c
i \connect
meta-polecenia są wrażliwe na wielkość liter .
Użyj poniższej instrukcji, aby przełączyć się do różnych baz danych znajdujących się w twoim RDG postgreSQL
\c databaseName
Jeśli chcesz przejść do określonej bazy danych podczas uruchamiania, spróbuj
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql vigneshdb;
Domyślnie Postgres działa na porcie 5432. Jeśli działa na innym, pamiętaj, aby przekazać port w wierszu poleceń.
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p2345 vigneshdb;
Za pomocą prostego aliasu możemy to zrobić.
Utwórz alias w swoim .bashrc
lub.bash_profile
function psql()
{
db=vigneshdb
if [ "$1" != ""]; then
db=$1
fi
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p5432 $1
}
Uruchom psql
w linii poleceń, przełączy się na domyślną bazę danych; psql anotherdb
, przełączy się na db o nazwie w argumencie podczas uruchamiania.
Chociaż nie zostało to wyraźnie określone w pytaniu, celem jest połączenie się z określonym schematem / bazą danych.
Inną opcją jest bezpośrednie połączenie ze schematem. Przykład:
sudo -u postgres psql -d my_database_name
Źródło z 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.
Możesz połączyć za pomocą
\ c nazwa_db
Jeśli chcesz zobaczyć wszystkie możliwe polecenia POSTGRESQL lub SQL, wykonaj następujące kroki:
rails dbconsole (nastąpi przekierowanie do bieżącej bazy danych ENV)
\? (Dla poleceń POSTGRESQL)
lub
\ h (dla poleceń SQL)
Naciśnij Q, aby wyjść
Jak wspomniano w innych odpowiedziach, musisz zmienić połączenie, aby użyć innej bazy danych.
Postgres działa ze schematami. Możesz mieć wiele schematów w jednej bazie danych. Jeśli więc pracujesz w tej samej bazie danych i chcesz zmienić schemat, możesz:
SET SCHEMA 'schema_name';
SET SCHEMA
jest używany jako SET SCHEMA 'schema_name'
nie SET SCHEMA 'database_name'
. Jest to więc sposób SQL na zmianę schematu, a nie bazy danych. Również to jest podobne do SET search_path TO schema_name
. Zobacz dokumentację tutaj lub tutaj .
psql
front-end dla PostgreSQL?