Использование psql для подключения к ADB
Для подключения к ADB можно использовать стандартное клиентское приложение PostgreSQL — psql. Это интерактивный терминал, который позволяет выполнять SQL-запросы из командной строки и просматривать их результаты. Для взаимодействия с ADB необходимо подключиться к хосту мастера. Сегменты не предназначены для клиентских подключений.
|
ВАЖНО
Дефолтные имя пользователя и название базы данных, требуемые для подключения, настраиваются до установки ADB с помощью следующих конфигурационных параметров ADB:
Если эти параметры не менялись, системный пользователь на хостах кластера и соответствующая роль базы данных по умолчанию имеют имя |
Локальное подключение
При использовании настроек по умолчанию:
-
Подключитесь к хосту мастера ADB (например, по SSH) и войдите в систему под учетной записью
gpadmin, которая создается по умолчанию:$ sudo su - gpadmin -
Подключитесь к базе данных
adb:$ psql adb
После подключения к базе данных psql отображается версия psql и приглашение, содержащее название текущей базы данных.
psql (9.4.26) Type "help" for help. adb=#
Символ # означает, что вы подключены как суперпользователь.
Введите необходимую SQL-команду и нажмите Enter, чтобы выполнить ее.
Например, можно создать пользователя, учетную запись которого будем использовать в примере с удаленным подключением:
CREATE USER alice WITH PASSWORD 'secure_password';
Удаленное подключение
Чтобы подключиться к ADB удаленно, убедитесь, что хост мастера принимает соединения с необходимых хостов.
Разрешение удаленного подключения
Добавьте адрес хоста, с которого вы хотите подключиться, в файл pg_hba.conf. Для этого можно использовать веб-интерфейс ADCM:
-
Откройте конфигурационные параметры сервиса ADB.
-
В поле Custom pg_hba section добавьте строку в следующем формате:
host <database_name> <user_name> <client_address> <auth_method>Например:
host adb alice 192.0.2.2/32 md5ПРИМЕЧАНИЕПри использовании метода аутентификации
md5потребуется ввод пароля пользователя. Описание других способов аутентификации приводится в документации Greengage DB. Пример использования метода GSSAPI приводится в статье Аутентификация с использованием MIT Kerberos KDC в ADB. -
Нажмите Save, чтобы сохранить конфигурацию. Затем нажмите Action → Reconfigure, чтобы применить изменения.
После успешного выполнения действия Reconfigure вы сможете подключиться к указанной базе данных с указанного хоста.
Опционально можно проверить добавленный адрес на стороне мастера: откройте файл $MASTER_DATA_DIRECTORY/pg_hba.conf или выполните запрос к системному представлению pg_hba_file_rules, которое предоставляет информацию из этого файла.
Например:
SELECT * FROM pg_hba_file_rules WHERE address='192.0.2.2';
Вывод команды должен содержать правило подключения с указанного адреса:
line_number | type | database | user_name | address | netmask | auth_method | options | error
-------------+------+----------+-----------+------------+-----------------+-------------+---------+-------
23 | host | {adb} | {alice} | 192.0.2.2 | 255.255.255.255 | md5 | |
(1 row)
Удаленное подключение
-
Выполните команду
psql, передав параметры подключения: адрес хоста мастера, название базы данных и имя пользователя:$ psql -h <master_address> -U <user_name> -d <database_name>Например:
$ psql -h 192.0.2.123 -U alice -d adbБудет предложено ввести пароль пользователя:
Password for user alice:
-
Введите пароль.
После установки соединения отображается приглашение с указанием версии psql на стороне клиента и версии PostgreSQL сервера, а также имени базы данных:
psql (9.4.26 (Homebrew), server 9.4.26) Type "help" for help. adb=>
Символ => означает, что вы подключены к базе данных как обычный пользователь.