Ответы:
В PostgreSQL вы можете использовать \connect
мета-команду клиентского инструмента psql:
\connect DBNAME
или короче говоря:
\c DBNAME
.sql
файле? например, могу ли я CREATE DATABASE mydb;
следовать \connect mydb
?
psql
команды в файл сценария SQL.
В приглашении PSQL вы можете сделать:
\connect (or \c) dbname
Вы можете выбрать базу данных при соединении с PSQL. Это удобно при использовании из скрипта:
sudo -u postgres psql -c "CREATE SCHEMA test AUTHORIZATION test;" test
\l
для баз данных
\c
DatabaseName для переключения на дБ
\df
для процедур, хранящихся в конкретной базе данных
Использование метакоманды psql \c or \connect [ dbname [ username ] [ host ] [ port ] ] | conninfo
(см. Документацию ).
Пример: \c MyDatabase
Обратите внимание , что \c
и \connect
мета-команды чувствительны к регистру .
Используйте оператор ниже для переключения на разные базы данных, находящиеся в вашей RDMS postgreSQL
\c databaseName
Если вы хотите при запуске переключиться на конкретную базу данных, попробуйте
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql vigneshdb;
По умолчанию Postgres работает на порту 5432. Если он работает на другом, обязательно передайте порт в командной строке.
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p2345 vigneshdb;
Простым псевдонимом мы можем сделать это удобным.
Создайте псевдоним в вашем .bashrc
или.bash_profile
function psql()
{
db=vigneshdb
if [ "$1" != ""]; then
db=$1
fi
/Applications/Postgres.app/Contents/Versions/9.5/bin/psql -p5432 $1
}
Запустите psql
в командной строке, он переключится на базу данных по умолчанию; psql anotherdb
, он переключится на БД с именем в аргументе при запуске.
Хотя это явно не указано в вопросе, цель состоит в том, чтобы подключиться к определенной схеме / базе данных.
Другой вариант - напрямую подключиться к схеме. Пример:
sudo -u postgres psql -d my_database_name
Источник от 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.
Вы можете подключиться с помощью
\ c dbname
Если вы хотите увидеть все возможные команды для POSTGRESQL или SQL, выполните следующие действия:
rails dbconsole (Вы будете перенаправлены в вашу текущую базу данных ENV)
\? (Для команд POSTGRESQL)
или
\ h (для команд SQL)
Нажмите Q для выхода
Как уже упоминалось в других ответах, вам нужно изменить соединение, чтобы использовать другую базу данных.
Postgres работает со схемами. Вы можете иметь несколько схем в одной базе данных. Итак, если вы работаете в одной базе данных и хотите изменить схему, вы можете сделать:
SET SCHEMA 'schema_name';
SET SCHEMA
используется как SET SCHEMA 'schema_name'
нет SET SCHEMA 'database_name'
. Так что это способ SQL изменить схему, а не базу данных. Также это похоже на SET search_path TO schema_name
. Смотрите документацию здесь или здесь .
psql
внешнем интерфейсе для PostgreSQL?