Подключение к кластеру PostgreSQL
-
Как получить SSL-сертификат для подключения к Managed Service for PostgreSQL на Windows?
-
Как установить SSL-сертификат для подключения Power BI к Managed Service for PostgreSQL через psql?
-
Сколько одновременных подключений к одному хосту доступно в Managed Service for PostgreSQL?
-
Почему при попытке подключиться к базе данных из Looker Studio возникает ошибка?
-
Как всегда подключаться к наименее отстающей от мастера реплике?
Возможен ли доступ к кластеру изнутри Yandex Cloud?
К хостам кластера Managed Service for PostgreSQL можно подключиться:
- Через интернет, если вы настроили публичный доступ для нужного хоста. К таким хостам подключиться можно только используя SSL-соединение.
- С виртуальных машин Yandex Cloud, расположенных в той же облачной сети. Если к хосту нет публичного доступа, для подключения с таких виртуальных машин необязательно использовать SSL-соединение.
- Из контейнера в сервисе Yandex Serverless Containers. Если к хосту нет публичного доступа, контейнер должен располагаться в той же облачной сети.
Подробнее см. в документации сервиса.
Можно ли подключиться к кластеру из Docker-контейнера?
Да, для этого настройте Dockerfile.
Пример подключения из контейнера в сервисе Yandex Serverless Containers см. в практическом руководстве.
Как получить SSL-сертификат для подключения к Managed Service for PostgreSQL на Windows?
SSL-сертификат можно получить с помощью PowerShell:
mkdir $HOME\.postgresql; curl.exe --output $HOME\.postgresql\root.crt https://storage.yandexcloud.net/cloud-certs/CA.pem
Сертификат будет сохранен в файле $HOME\.postgresql\root.crt
.
Подробнее о получении сертификата и подключении к базе данных см. в документации сервиса.
Как установить SSL-сертификат для подключения Power BI к Managed Service for PostgreSQL через psql?
-
Установите Windows Subsystem for Linux
(WSL) и выполните в терминале команду:mkdir /mnt/c/temp && \ curl "https://storage.yandexcloud.net/cloud-certs/CA.pem" --output /mnt/c/temp/CA.pem && \ openssl pkcs12 -export -out /mnt/c/temp/CA.pfx -nokeys -in /mnt/c/temp/CA.pem
Сертификат будет доступен по пути
C:\temp\CA.pfx
. -
Разместите полученный сертификат в хранилище сертификатов Windows
.
Можно ли подключиться к хостам кластера по SSH?
Подключиться к хостам через SSH не получится. Это сделано в целях безопасности и отказоустойчивости пользовательских кластеров, так как прямые изменения внутри хоста могут привести к его полной неработоспособности.
Сколько одновременных подключений к одному хосту доступно в Managed Service for PostgreSQL?
Количество одновременных подключений задается на уровне кластера в настройке Max connections. По умолчанию установлено максимальное значение, которое задается формулой:
200 × <количество_vCPU_на_одном_хосте>
О том, как изменить настройки PostgreSQL на уровне кластера читайте в документации.
Сколько подключений доступно одному пользователю?
По умолчанию кластер резервирует для каждого пользователя 50 подключений к каждому хосту. Вы можете изменить это количество в настройке Conn limit.
Если лимит подключений для пользователя будет исчерпан, то попытка открыть новое подключение завершится ошибкой:
too many active clients for user (pool_size for user <имя_пользователя> reached <значение_лимита>)
О том, как изменить настройки PostgreSQL на уровне пользователя, читайте в документации.
Почему при попытке подключиться к базе данных из Looker Studio возникает ошибка?
Для подключения из Looker Studio необходимо сгенерировать и указать в настройках подключения файл сертификата клиента и приватный ключ. О том, как это сделать, см. в разделе Подключение из Looker Studio.
Как всегда подключаться к хосту-мастеру?
Чтобы подключиться к текущему хосту-мастеру, используйте особый FQDN. Он имеет вид c-<идентификатор_кластера>.rw.mdb.yandexcloud.net
. При подключении к этому FQDN вы сможете выполнять операции чтения и записи.
Пример команды для подключения к мастеру
psql "host=c-<идентификатор_кластера>.rw.mdb.yandexcloud.net \
port=6432 \
sslmode=verify-full \
dbname=<имя_БД> \
user=<имя_пользователя>"
Как всегда подключаться к наименее отстающей от мастера реплике?
Чтобы подключиться к наименее отстающей от мастера реплике, используйте особый FQDN. Он имеет вид c-<идентификатор_кластера>.ro.mdb.yandexcloud.net
. При подключении к этому FQDN вы сможете выполнять только операции чтения.
Пример команды для подключения к реплике
psql "host=c-<идентификатор_кластера>.ro.mdb.yandexcloud.net \
port=6432 \
sslmode=verify-full \
dbname=<имя_БД> \
user=<имя_пользователя>"
Если в кластере нет активных реплик, то этот FQDN укажет на текущий хост-мастер.
postgres
?
Как подключиться к базе данных postgres
— системная БД. По соображениям безопасности подключаться к системным БД нельзя.
postgres
?
Как получить пароль пользователя По соображениям безопасности получить пароль пользователя postgres
и подключиться к БД от его имени нельзя.