Risposte:
In PostgreSQL, puoi usare il \connect
meta-comando dello strumento client psql:
\connect DBNAME
o in breve:
\c DBNAME
.sql
file? ad esempio posso aver CREATE DATABASE mydb;
seguito \connect mydb
?
psql
comandi in un file di script SQL.
Al prompt di PSQL, puoi fare:
\connect (or \c) dbname
È possibile selezionare il database durante la connessione con psql. Questo è utile quando lo si utilizza da uno script:
sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test
\l
per database
\c
DatabaseName per passare a db
\df
per le procedure memorizzate in un determinato database
Usando il meta-comando di psql \c or \connect [ dbname [ username ] [ host ] [ port ] ] | conninfo
(vedi documentazione ).
Esempio: \c MyDatabase
Si noti che l' \c
e \connect
meta-comandi sono maiuscole e minuscole .
Usa la seguente istruzione per passare a diversi database residenti nel tuo RDMS postgreSQL
\c databaseName
Se si desidera passare a un database specifico all'avvio, provare
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql vigneshdb;
Per impostazione predefinita, Postgres viene eseguito sulla porta 5432. Se viene eseguito su un altro, assicurarsi di passare la porta nella riga di comando.
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p2345 vigneshdb;
Con un semplice alias, possiamo renderlo utile.
Crea un alias nel tuo .bashrc
o.bash_profile
function psql()
{
db=vigneshdb
if [ "$1" != ""]; then
db=$1
fi
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p5432 $1
}
Esegui psql
dalla riga di comando, passerà al database predefinito; psql anotherdb
, passerà al db con il nome nell'argomento, all'avvio.
Sebbene non sia esplicitamente indicato nella domanda, lo scopo è connettersi a uno schema / database specifico.
Un'altra opzione è quella di connettersi direttamente allo schema. Esempio:
sudo -u postgres psql -d my_database_name
Fonte da 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.
Puoi connetterti usando
\ c dbname
Se vuoi vedere tutti i possibili comandi per POSTGRESQL o SQL segui questi passaggi:
rails dbconsole (Verrai ridistribuito nel tuo database ENV corrente)
\? (Per i comandi POSTGRESQL)
o
\ h (per comandi SQL)
Premi Q per uscire
Come indicato nelle altre risposte, è necessario modificare la connessione per utilizzare un database diverso.
Postgres funziona con gli schemi. Puoi avere più schemi in un unico database. Pertanto, se si lavora all'interno dello stesso database e si desidera modificare lo schema, è possibile:
SET SCHEMA 'schema_name';
SET SCHEMA
viene utilizzato comeSET SCHEMA 'schema_name'
no SET SCHEMA 'database_name'
. Quindi questo è un modo SQL per cambiare lo schema non il database. Anche questo è simile a SET search_path TO schema_name
. Vedi la documentazione qui o qui .
psql
del front-end per PostgreSQL?