Відповіді:
У 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 перейти на db
\df
для процедур, що зберігаються в певній базі даних
Використання мета-команди psql \c or \connect [ dbname [ username ] [ host ] [ port ] ] | conninfo
(див. Документацію ).
Приклад: \c MyDatabase
Зауважте, що \c
і \connect
мета-команди залежать від регістру .
Використовуйте оператор нижче, щоб переключитися на різні бази даних, що знаходяться у вашій PostgreSQL RDMS
\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
, при запуску він перейде до db з ім'ям в аргументі.
Хоча це чітко не зазначено у питанні, мета - підключення до певної схеми / бази даних.
Ще один варіант - безпосередньо підключитися до схеми. Приклад:
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?