Перейти к основному содержимому

Подключиться к кластеру PostgreSQL TimescaleDB

К кластеру PostgreSQL TimescaleDB можно подключиться:

  • через терминальный клиент psql;
  • через графические инструменты для управления базами данных: pgAdmin или офисный пакет с поддержкой ODBC или JDBC;
  • из программного кода.

Для всех способов доступно подключение с SSL и без SSL.

Для подключения используйте порт и адрес.

Порты для подключения

Для подключения к PostgreSQL TimescaleDB используйте порты:

  • 5433 — порт для подключения к выбранной ноде через пулер соединений — позволяет снизить нагрузку на PostgreSQL TimescaleDB;
  • 5432 — порт для подключения напрямую к процессу PostgreSQL TimescaleDB.

Адреса для подключения

Адрес для подключения зависит от подсети кластера и от того, откуда вы подключаетесь. Вы можете выбрать адрес в зависимости от одного из сценариев:

Подключение к кластеру в публичной подсети

Если кластер в публичной подсети, к нодам можно подключиться по DNS-адресу или IP-адресу из публичной подсети.

Мы рекомендуем подключаться по DNS-адресу. Для DNS-адресов в кластере используется механизм master discovery — адрес привязан к роли ноды, а не к самой ноде. При недоступности мастера одна из реплик становится новым мастером и адрес переходит на новую ноду вместе с ролью.

При подключении по IP-адресу из публичной подсети механизм master discovery не используется. Если одна из реплик станет новым мастером, IP-адрес мастера изменится и подключение по старому IP-адресу перестанет работать.

Вы можете посмотреть адрес для подключения в панели управления.

Подключение из приватной подсети к кластеру в приватной подсети

Если вы подключаетесь из приватной подсети к кластеру в приватной подсети, можно использовать DNS-адрес или приватный IP-адрес.

Мы рекомендуем подключаться по DNS-адресу. Для DNS-адресов в кластере используется механизм master discovery — адрес привязан к роли ноды, а не к самой ноде. При недоступности мастера одна из реплик становится новым мастером и адрес переходит на новую ноду вместе с ролью.

При подключении по приватному IP-адресу механизм master discovery не используется. Если одна из реплик станет новым мастером, IP-адрес мастера изменится и подключение по старому IP-адресу перестанет работать.

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

Вы можете посмотреть адрес для подключения в панели управления.

Подключение из интернета к кластеру в приватной подсети

Если вы подключаетесь к кластеру в приватной подсети из интернета, можно использовать только публичный IP-адрес (Floating IP). Приватная подсеть должна соответствовать требованиям. Если подсеть не соответствует требованиям, подготовьте ее для подключения публичного IP-адреса (Floating IP).

Для публичных IP-адресов (Floating IPs) используется механизм master discovery — адрес привязан к роли ноды, а не к самой ноде. При недоступности мастера одна из реплик становится новым мастером и адрес переходит на новую ноду вместе с ролью.

Вы можете посмотреть адрес для подключения в панели управления.

Посмотреть адрес для подключения

  1. В панели управления в верхнем меню нажмите Продукты и выберите Облачные базы данных.
  2. Откройте вкладку Активные.
  3. Откройте страницу кластера баз данных → вкладка Подключение.
  4. В блоке Адреса для подключения посмотрите адрес.

Подключиться с SSL

Подключение с использованием TLS(SSL)-шифрования обеспечивает безопасное соединение между вашим сервером и кластером баз данных.

  1. Скачайте корневой сертификат и поместите его в папку ~/.postgresql/:

    mkdir -p ~/.postgresql/
    wget https://storage.dbaas.selcloud.ru/CA.pem -O ~/.postgresql/root.crt
    chmod 0600 ~/.postgresql/root.crt
  2. Подключитесь к кластеру:

    psql "host=<host> \
    port=<port> \
    dbname=<database_name> \
    user=<database_user_name> \
    sslmode=verify-ca"

    Укажите:

Подключиться без SSL

  1. Откройте CLI.

  2. Подключитесь к кластеру:

    psql "host=<host> \
    port=<port> \
    dbname=<database_name> \
    user=<database_user_name> \
    sslmode=disable"

    Укажите: