команда "использовать имя базы данных" в PostgreSQL



Я новичок в PostgreSQL.



Я хочу подключиться к другой базе данных из редактора запросов Postgres-как USE команда MySQL или MS SQL Server.



нашел c databasename путем поиска в интернете, но его работает только на psql. Когда я пытаюсь это сделать из редактора запросов PostgreSQL, я получаю синтаксическую ошибку.



Я должен изменить базу данных с помощью pgscripting. Кто-нибудь знает как это сделать?

640   5  

5 ответов:

когда вы получаете соединение с PostgreSQL это всегда к определенной базе данных. Чтобы получить доступ к другой базе данных, необходимо установить новое соединение.

используя \c в psql закрывает старое соединение и приобретает новое, используя указанную базу данных и/или учетные данные. Вы получаете совершенно новый внутренний процесс и все такое.

вы должны указать базу данных для использования при подключении; если вы хотите использовать psql для вашего скрипта, вы можете использовать "\C name_database"

user_name=# CREATE DATABASE testdatabase; 
user_name=# \c testdatabase 

на этом этапе вы можете увидеть следующий вывод

You are now connected to database "testdatabase" as user "user_name".
testdatabase=#

обратите внимание, как оперативные изменения. Ура, просто суетились, ища это тоже, слишком мало информации о postgreSQL по сравнению с MySQL и остальным, на мой взгляд.

в pgAdmin вы также можете использовать

установите search_path в your_db_name;

основная проблема при миграции из MySQL, с которой я столкнулся, заключалась в том, что я думал о термине database то же самое и в PostgreSQL, но это не так. Так что если мы собираемся переключить базу данных из нашего приложения или pgAdmin, результат будет не таким, как ожидалось. Как и в моем случае, у нас есть отдельные схемы (учитывая терминологию PostgreSQL здесь.) для каждого клиента и отдельной схемы администратора. Поэтому в приложении мне приходится переключаться между схемами.

для этого мы можем использовать SET search_path команда. Это позволяет переключить текущую схему на указанное имя схемы для текущего сеанса.

пример:

SET search_path = different_schema_name;

это изменяет current_schema на указанную схему для сеанса. Чтобы изменить его навсегда, мы должны внести изменения в .

используйте эту запятую при первом подключении к psql

=# psql <databaseName> <usernamePostgresql>

Comments

    Ничего не найдено.