Respostas:
No PostgreSQL, você pode usar o \connect
meta-comando da ferramenta cliente psql:
\connect DBNAME
ou em resumo:
\c DBNAME
.sql
arquivo? por exemplo, posso ter CREATE DATABASE mydb;
seguido \connect mydb
?
psql
comandos em um arquivo de script SQL.
No prompt do PSQL, você pode:
\connect (or \c) dbname
Você pode selecionar o banco de dados ao conectar-se ao psql. Isso é útil ao usá-lo em um script:
sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test
\l
para bancos de dados
\c
DatabaseName para alternar para db
\df
para procedimentos armazenados em determinado banco de dados
Usando o meta-comando do psql \c or \connect [ dbname [ username ] [ host ] [ port ] ] | conninfo
(consulte a documentação ).
Exemplo: \c MyDatabase
Observe que os comandos \c
e \connect
meta diferenciam maiúsculas de minúsculas .
Use a instrução abaixo para alternar para diferentes bancos de dados que residem dentro do RDMS do postgreSQL
\c databaseName
Se você deseja alternar para um banco de dados específico na inicialização, tente
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql vigneshdb;
Por padrão, o Postgres é executado na porta 5432. Se for executado em outro, certifique-se de passar a porta na linha de comando.
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p2345 vigneshdb;
Por um alias simples, podemos torná-lo útil.
Crie um alias no seu .bashrc
ou.bash_profile
function psql()
{
db=vigneshdb
if [ "$1" != ""]; then
db=$1
fi
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p5432 $1
}
Executar psql
na linha de comando, ele alternará para o banco de dados padrão; psql anotherdb
, ele alternará para o banco de dados com o nome no argumento, na inicialização.
Embora não seja explicitamente declarado na pergunta, o objetivo é conectar-se a um esquema / banco de dados específico.
Outra opção é conectar-se diretamente ao esquema. Exemplo:
sudo -u postgres psql -d my_database_name
Fonte 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.
Você pode se conectar usando
\ c dbname
Se você deseja ver todos os comandos possíveis para POSTGRESQL ou SQL, siga estas etapas:
rails dbconsole (Você redirecionará para o seu banco de dados ENV atual)
\? (Para comandos POSTGRESQL)
ou
\ h (para comandos SQL)
Pressione Q para sair
Conforme mencionado nas outras respostas, você precisa alterar a conexão para usar um banco de dados diferente.
O Postgres trabalha com esquemas. Você pode ter vários esquemas em um único banco de dados. Portanto, se você estiver trabalhando no mesmo banco de dados e quiser alterar o esquema, faça o seguinte:
SET SCHEMA 'schema_name';
SET SCHEMA
é usado como SET SCHEMA 'schema_name'
não SET SCHEMA 'database_name'
. Portanto, esta é uma maneira SQL de alterar o esquema e não o banco de dados. Também isso é semelhante a SET search_path TO schema_name
. Veja a documentação aqui ou aqui .
psql
do front-end do PostgreSQL?