Перечисление и переключение баз данных в PostgreSQL
Перечисление и переключение баз данных в PostgreSQL
PostgreSQL, мощная объектно-реляционная система баз данных с открытым исходным кодом, предлагает богатый набор инструментов и функций для эффективного управления базами данных. Независимо от того, являетесь ли вы администратором базы данных или бэкенд-разработчиком, знание того, как составлять списки и переключаться между базами данных, является основой для навигации в средах с несколькими базами данных.
1. Предварительные условия
Прежде чем приступить к работе, убедитесь, что:
PostgreSQL установлен в вашей системе( доступенpsql ).
У вас есть соответствующие права (например, суперпользователь или роль с правами на подключение).
Вы можете аутентифицироваться на сервере PostgreSQL с помощью действительного пользователя.
2. Листинг баз данных в PostgreSQL
🔍 Метод 1: Использование метакоманды psql
Запустите интерактивный терминал psql и выполните команду:
\lИли в расширенном виде:
\listЭто вернет список всех баз данных:
Name
Owner
Encoding
Collation
Ctype
Access privileges
Метод 2: Использование SQL-запроса
В качестве альтернативы выполните этот SQL-запрос:
SELECT datname FROM pg_database WHERE datistemplate = false;Этот запрос исключает шаблонные базы данных (template0, template1) и показывает базы данных, созданные пользователем.
🛠️ Метод 3: оболочка командной строки
За пределами psql, из терминала:
psql -U postgres -c "\l"Вы также можете использовать команду psql -l:
psql -l3. Переключение баз данных
В отличие от некоторых других СУБД (например, MySQL), PostgreSQL не поддерживает переключение баз данных в рамках одной сессии с помощью команды типа USE dbname;.
Почему?
PostgreSQL устанавливает соединение с определенной базой данных при входе в систему. Чтобы получить доступ к другой базе данных, необходимо отключиться и подключиться заново.
Рекомендуемый подход:
Выйти из текущей сессии и заново подключиться к нужной базе данных:
\q -- Выйти из текущей сессии psqlЗатем:
psql -U username -d target_databaseИли напрямую:
psql -U username -d target_database -h hostname -p portПример:
psql -U admin -d salesdb4. Советы по эффективной работе с несколькими базами данных
a. Используйте .pgpass для беспарольного переключения
Создайте файл .pgpass для автоматизации аутентификации:
hostname:port:database:username:passwordУбедитесь, что он имеет правильные права доступа:
c. Использование переменных окружения
Экспортируйте БД и пользователя по умолчанию для более быстрого переключения:


