Я новичок в PostgreSQL.
Я хочу подключиться к другой базе данных из редактора запросов Postgres - например, USE
команды MySQL или MS SQL Server.
Я нашел \c databasename
путем поиска в Интернете, но он работает только на PSQL . Когда я пытаюсь сделать это из редактора запросов PostgreSQL, я получаю синтаксическую ошибку.
Я должен изменить базу данных с помощью pgscripting. Кто-нибудь знает как это делать?
sudo -u postgres psql -d my_database_name
. ИсточникОтветы:
Когда вы получаете соединение с
PostgreSQL
ним всегда к определенной базе данных. Чтобы получить доступ к другой базе данных, вы должны получить новое соединение.Использование
\c
в psql закрывает старое соединение и получает новое, используя указанную базу данных и / или учетные данные. Вы получаете совершенно новый внутренний процесс и все.источник
Вы должны указать базу данных для использования при подключении; если вы хотите использовать psql для своего скрипта, вы можете использовать "\ c name_database"
В этот момент вы можете увидеть следующий вывод
Обратите внимание, как меняется подсказка. Ура, только что суетился в поисках этого, слишком мало информации о postgreSQL по сравнению с MySQL и остальными, на мой взгляд.
источник
В pgAdmin вы также можете использовать
источник
Основная проблема при переходе с MySQL, с которой я столкнулся, заключалась в том, что
database
в PostgreSQL я думал, что этот термин будет таким же, но это не так. Поэтому, если мы собираемся переключить базу данных из нашего приложения илиpgAdmin
, результат будет не таким, как ожидалось. Как и в моем случае, у нас есть отдельные схемы (учитывая терминологию PostgreSQL здесь.) Для каждого клиента и отдельная схема администратора. Поэтому в приложении я должен переключаться между схемами.Для этого мы можем использовать
SET search_path
команду. Это переключает текущую схему на указанное имя схемы для текущего сеанса.пример:
Это изменяет current_schema на указанную схему для сеанса. Чтобы изменить его навсегда, мы должны внести изменения в
postgresql.conf
файл.источник
Используйте эту запятую при первом подключении к
psql
источник