Files
fox/src/PaaS/PostgreSQL/connection.md
T

89 lines
6.1 KiB
Markdown
Raw Normal View History

2026-03-11 16:17:54 +03:00
# Общая схема подключения
2026-03-03 12:13:33 +03:00
2026-03-27 12:27:45 +03:00
Подключение к кластеру **Cloud PostgreSQL** осуществляется через прокси-сервер. Клиентские подключения принимаются прокси, который маршрутизирует трафик к соответствующим узлам кластера (master или replica) в зависимости от выбранного порта.
2026-03-03 12:13:33 +03:00
2026-03-27 12:27:45 +03:00
Прокси является единой точкой входа для всех клиентских подключений и принимает входящие соединения от приложений, административных инструментов и пользователей.
2026-03-11 16:17:54 +03:00
В зависимости от выбранного порта прокси автоматически направляет трафик:
2026-03-27 12:27:45 +03:00
- **на активный primary-узел** - для операций чтения и записи
- **на реплики** - для операций только чтения
2026-03-03 12:13:33 +03:00
2026-03-27 12:27:45 +03:00
::: warning Примечание
Прямое подключение к отдельным узлам базы данных **не используется и не предоставляется**. Взаимодействие с кластером всегда выполняется **через прокси-сервер**.
:::
2026-03-03 12:13:33 +03:00
## Подключение к базе данных
Для подключения к базе данных необходимо использовать IP-адрес прокси-сервера, который предоставляется после заказа услуги.
Этот IP-адрес является единой точкой входа для работы с кластером PostgreSQL. Все подключения к базе данных - как из приложений, так и из клиентских инструментов - выполняются через него.
Использование других IP-адресов или попытка прямого подключения к отдельным узлам кластера не предусмотрены.
## Доступные порты
Для разных типов нагрузки используются разные порты:
2026-03-11 16:17:54 +03:00
|Порт |Назначение |
|------|-----------------------------------------|
|5432 |Primary (чтение и запись) |
|15432 |Replica (только чтение) |
|6432 |Primary через PgBouncer (чтение и запись)|
|16432 |Replica через PgBouncer (только чтение) |
2026-03-27 12:27:45 +03:00
#### Особенности работы портов
2026-03-03 12:13:33 +03:00
2026-03-27 12:27:45 +03:00
- Порты **для чтения и записи** (5432, 6432) всегда направляют трафик на активный primary-узел. При смене primary переключение происходит автоматически;
- Порты **только для чтения** (15432, 16432) направляют трафик на активные реплики. Если реплик несколько, нагрузка распределяется между ними по принципу round-robin;
- Если в кластере **отсутствуют реплики**, порты для чтения не используются - подключение по ним не устанавливается.
2026-03-11 16:17:54 +03:00
2026-03-27 12:27:45 +03:00
#### Рекомендации по выбору порта
2026-03-03 12:13:33 +03:00
2026-03-11 16:17:54 +03:00
- Для OLTP-нагрузки и большого количества соединений рекомендуется использовать **порты PgBouncer (6432 или 16432)**;
- Для операций записи используйте **master-порты (5432 или 6432)**;
- Для read-only запросов можно использовать **replica-порты (15432 или 16432)**.
2026-03-03 12:13:33 +03:00
## Доступ к pgAdmin
2026-03-27 12:27:45 +03:00
Для администрирования базы данных используется [web-интерфейс pgAdmin](./pgadmin.md).
2026-03-03 12:13:33 +03:00
Доступ осуществляется по DNS-имени, которое нужно прописать локально в инфраструктуре откуда будет происходить доступ к web-интерфейсу сервиса:
2026-03-11 16:17:54 +03:00
`10.X.X.4 <domain>.cloud-pg.dfcloud.ru`
2026-03-03 12:13:33 +03:00
После добавления записи pgAdmin будет доступен по адресу:
2026-03-11 16:17:54 +03:00
`https://<domain>.cloud-pg.dfcloud.ru`
2026-03-03 12:13:33 +03:00
Авторизация выполняется с использованием учётных данных, предоставленных вместе с доступом к сервису.
2026-03-27 12:27:45 +03:00
::: warning Примечание
2026-03-03 12:13:33 +03:00
2026-03-11 16:17:54 +03:00
- подключение к базе данных возможно только через указанный прокси-IP;
- в интерфейсе pgAdmin уже добавлен сервер базы данных, созданный для данной инсталляции. Для подключения требуется ввести пароль от учётной записи базы данных;
2026-03-03 12:13:33 +03:00
- pgAdmin предназначен для администрирования и не рекомендуется для выполнения тяжёлых или длительных запросов в production-среде.
2026-03-11 16:17:54 +03:00
:::
2026-03-03 12:13:33 +03:00
## Примеры подключения к PostgreSQL
Подключение к primary:
2026-03-11 16:17:54 +03:00
`psql -h 10.X.X.4 -p 5432 -U <username> -d <database>`
2026-03-03 12:13:33 +03:00
Подключение через PgBouncer:
2026-03-11 16:17:54 +03:00
`psql -h 10.X.X.4 -p 6432 -U <username> -d <database>`
2026-03-27 12:27:45 +03:00
#### Подключение через DBeaver / DataGrip
2026-03-03 12:13:33 +03:00
При создании подключения укажите:
2026-03-11 16:17:54 +03:00
- Host: 10.X.X.4;
- Port: 5432 или 6432;
- Database: `<database>`;
- User / Password: согласно выданным доступам;
- Тип подключения: PostgreSQL.
2026-03-27 12:27:45 +03:00
#### Пример строки подключения
2026-03-03 12:13:33 +03:00
Primary:
2026-03-11 16:17:54 +03:00
`postgresql://<username>:<password>@10.X.X.4:5432/<database>`
2026-03-03 12:13:33 +03:00
Через PgBouncer:
2026-03-11 16:17:54 +03:00
`postgresql://<username>:<password>@10.X.X.4:6432/<database>`