Files
fox/src/PaaS/PostgreSQL/about.md
T
Левченко Людмила Алексеевна ea4e00ef1b правки
2026-04-01 12:19:50 +03:00

8.5 KiB
Raw Blame History

Cloud PostgreSQL

Назначение сервиса

Cloud PostgreSQL - это управляемый облачный сервис реляционной базы данных PostgreSQL. Он позволяет развернуть и использовать отказоустойчивый кластер базы данных без необходимости самостоятельно настраивать серверы, репликацию и механизмы отказоустойчивости.

PostgreSQL - это современная система управления базами данных, которая поддерживает стандарт SQL и используется для хранения и обработки данных приложений.

В Cloud PostgreSQL все основные операции по управлению кластером выполняются автоматически.

Сервис самостоятельно:

  • управляет ролями серверов базы данных (основной сервер и реплики);
  • отслеживает состояние узлов;
  • автоматически переключает основной сервер при сбоях.

Для обеспечения стабильной работы сервиса используется несколько инфраструктурных компонентов:

  • Patroni - управляет кластером PostgreSQL и автоматическим переключением при отказах;
  • etcd - хранит состояние кластера и обеспечивает согласованность работы узлов;
  • HAProxy - обеспечивает единую точку подключения и распределяет клиентские подключения между узлами.

Подключение к базе данных выполняется через прокси-узлы сервиса. Пользователю не требуется подключаться к отдельным серверам кластера — все операции производятся через единую точку доступа.

Для управления базами данных и пользователями доступен web-интерфейс pgAdmin, позволяющий выполнять администрирование непосредственно через браузер.

Конфигурации кластера

Сервис Cloud PostgreSQL поддерживает версии СУБД с 13 по 17 включительно.

Кластер предоставляется в архитектуре Primary–Standby, которая обеспечивает:

  • синхронную репликацию данных;
  • повышенную отказоустойчивость.

В рамках данной конфигурации создаётся кластер из виртуальных серверов, включающий:

  • Primary (основной сервер) — обязательный узел, на котором выполняются операции записи данных;
  • Replica (реплики) — дополнительные узлы (от 0 до 4), создаваемые по желанию пользователя.

Реплики являются полноценными участниками кластера PostgreSQL и могут использоваться для выполнения запросов, не изменяющих данные (например, SELECT).

В многоузловой конфигурации серверы кластера размещаются на разных физических хостах гипервизора, что повышает устойчивость сервиса к отказам оборудования.

Режимы репликации

По умолчанию фиксация изменений выполняется в синхронном режиме. Это означает, что операция записи считается завершённой только после того, как данные будут зафиксированы как на основном сервере, так и на одной из реплик.

Если в кластере настроено несколько реплик, синхронный режим применяется только к одной из них. Остальные реплики работают в асинхронном режиме — изменения передаются на них без ожидания подтверждения.

При необходимости режим репликации может быть изменён на полностью асинхронный. В этом случае изменения сначала фиксируются на основном сервере, а затем передаются на реплики с задержкой.

Доступ к серверам и оптимизация соединений

Прямой доступ к серверам кластера (например, по протоколу SSH) не предоставляется. Пользователь взаимодействует с базой данных исключительно через точки подключения, предоставленные сервисом.

На каждом узле кластера установлен пулер соединений PgBouncer, который может использоваться для ускорения работы приложений за счёт оптимизации подключений к базе данных.

::: warning Примечание

Использование PgBouncer не является обязательным - подключение возможно как напрямую к PostgreSQL, так и через пулер, а также одновременно обоими способами.

:::

Возможности сервиса

Cloud PostgreSQL предоставляет набор возможностей, позволяющих использовать PostgreSQL в облаке без необходимости самостоятельного администрирования инфраструктуры.

Сервис обеспечивает:

  • автоматическое управление кластером PostgreSQL;
  • высокую доступность за счёт репликации и автоматического переключения primary-узла;
  • единую точку подключения к базе данных через прокси;
  • автоматическое переключение при отказе узлов кластера без вмешательства пользователя;
  • web-доступ к управлению базами данных и пользователями через pgAdmin;
  • совместимость со стандартными клиентскими инструментами PostgreSQL;
  • возможность установки расширений PostgreSQL в базу данных.

Сценарии использования сервиса

Cloud PostgreSQL подходит для использования в системах, где требуется надёжное хранение данных и упрощённое управление инфраструктурой базы данных.

Сервис может применяться в следующих сценариях:

  • размещение production-баз данных с высокими требованиями к доступности;
  • использование PostgreSQL в микросервисной архитектуре с единой точкой подключения к базе данных;
  • хранение критичных данных с минимальным временем простоя при отказах инфраструктуры;
  • быстрое развёртывание PostgreSQL-кластера без необходимости ручной настройки репликации и failover;
  • администрирование баз данных через веб-интерфейс без прямого доступа к серверам кластера.