Подключение к базе данных PostgreSQL

В этом разделе описывается, как подключиться к базе данных PostgreSQL.

Для подключения к экземпляру БД можно использовать клиентский psql для базового подключения или SSL-соединения. Рекомендуется использовать SSL-соединение.

Для подключения необходимы:

  • Привязанный к экземпляру БД внешний IP-адрес.

  • Установленный клиент PostgreSQL psql на ECS.

Базовое подключение

  1. Подключитесь к экземпляру виртуальной машины ECS, где развернут экземпляр RDS.

  2. Запустите следующую команду для подключения к базе данных RDS:

    psql --no-readline -U <user> -h <host> -p <port> -d <datastore> -W
    

    Параметры:

    • -U — имя пользователя экземпляра базы данных RDS. По умолчанию — root.

    • -h — IP-адрес экземпляра первичной БД. Получить этот IP-адрес можно на странице Instance Management, нажав на название экземпляра БД.

    Примечание

    Если подключение осуществляется:

    • через ECS, то IP-адрес можно найти на вкладке Basic Information разделе Connection Information → Floating IP Address.

    • через EIP, то адрес IP будет располагаться на вкладке EIPs.

    • -p — использующийся порт для базы данных. По умолчанию значение порта — 5432. Номер порта можно получить на странице Instance Management, нажав на нужный экземпляр RDS и перейдя в раздел Connection Information → Database Port.

    • -d — название БД. По умолчанию название будет «postgres».

    • -W — запрос пароля, который нужно будет указать при подключении. После запуска этой команды будет запрашиваться пароль.

    Пример команды:

    psql --no-readline -U root -h 192.168.0.44 -p 5432 -d postgres -W
    

Подключение с помощью SSL-сертификата

  1. Войдите в консоль управления Advanced:

  2. Чтобы открыть список сервисов, нажмите Service List.

  3. Выберите Database → Relational Database Service.

  4. На странице Basic Information в разделе DB Information скачайте SSL сертификат.

  5. Загрузите сертификат в ВМ ECS или сохраните его на устройстве, которое будет подключено к экземпляру базы данных.

  6. Запустите команду для подключения к экземпляру. В нашем примере используется команда для Linux:

    psql --no-readline -h <host> -p <port> "dbname=<database> user=<user> sslmode=verify-ca sslrootcert=<ca.pem>"
    

    Параметры:

    • -h — IP-адрес экземпляра первичной БД. Получить этот IP-адрес можно на странице Instance Management, нажав на название экземпляра БД.

      Примечание

      Если подключение осуществляется:

      • через ECS, то IP-адрес можно найти на вкладке Basic Information разделе Connection Information → Floating IP Address.

      • через EIP, то адрес IP будет располагаться на вкладке EIPs.

    • -p — порт базы данных. По умолчанию значение порта — 5432. Номер порта можно получить на странице Instance Management, нажав на нужный экземпляр RDS и перейдя в раздел Connection Information → Database Port.

    • -dbname — название БД. По умолчанию название будет «postgres».

    • user — параметр, указывающий логин пользователя БД.

    • sslmode — указывает режим SSL-соединения. Установите для параметра значение verify-ca, чтобы использовать центр сертификации для проверки службы на достоверность.

    • sslrootcert — указывает каталог CA-сертификации для SSL-соединения. Сертификат должен храниться в каталоге, в котором выполняется команда. Введите пароль экземпляра БД после появления сообщения «Password».

Например, чтобы подключиться к экземпляру базы данных через SSL-соединение от имени пользователя root, выполните следующую команду:

psql --no-readline -h 192.168.0.44 -p 5432 "dbname=postgres user=root sslmode=verify-ca sslrootcert=/root/ca.pem"

Password:

Если успешно установлено SSL-соединение, то отобразится сообщение:

SSL connection (protocol: TLSv1.2, cipher: ECDHE-RSA-AES256-GCM-SHA384, bits: 256, compression: off)
Запустили Evolution free tier
для Dev & Test
Получить