Skip to main content

Хост

Хост — это виртуальная машина, на которой развернут сервер баз данных PostgreSQL. Хост является составной частью инстанса Postgres.

Роль хоста определяется ролью запущенного на нем процесса PostgreSQL:

  • Хост с процессом Postgres Master называется хост-мастер.
  • Хост с процессом Postgres Slave/Replica называется хост-реплика.

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

Хосты одного инстанса — физически разные ресурсы. Они расположены в разных зонах доступности. При этом состояние баз данных полностью реплицировано между хостами одного инстанса. Если хост-мастер выходит из строя, хост-реплика берет на себя его функции. См. также Выбор хоста-мастера.

Стандартные конфигурации хоста

При создании или изменении инстансов через интерфейс Spirit вы можете выбрать одну из стандартных конфигураций хоста:

Код конфигурацииРесурсы
c2r22 CPU, 2 Гб RAM
c4r84 CPU, 8 Гб RAM
c8r248 CPU, 24 Гб RAM

Выбор хоста-мастера на стороне клиента

Если в инстансе два и более хостов с репликацией, то когда мастер-хост становится недоступен во время обслуживания или из-за неисправности, его роль на себя берет один из хостов-реплик. Поэтому в общем случае SQL-клиенту для подключения к инстансу недостаточно знать адрес хоста-мастера по умолчанию. SQL-клиенту нужно знать, какой из хостов является мастером непосредственно в момент подключения.

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

  1. При подключении пользователь передает в SQL-клиент список адресов всех хостов, например: host-1.t-technologies.ru, host-2.t-technologies.ru, host-3.t-technologies.ru.
  2. Пользователь также указывает, для каких операций ему нужен хост. Для Read-Write операций подойдет только хост-мастер (Master), а для Read-Only операций — хост-реплика (Slave/Replica). Подробнее о доступных режимах подключения см. в документации PostgreSQL.
  3. SQL-клиент подключается к каждому хосту из списка по очереди и останавливается на том хосте, который подходит под заданный критерий (Master или Slave/Replica).
Важно

Если ваш SQL-клиент не поддерживает технологию выбора хоста-мастера на стороне клиента, уровень сервиса не гарантирован.

Информацию о поддержке данной технологии драйверами и ORM для различных языков программирования смотрите в разделе Драйверы и ORM. Информация периодически обновляется.

В разработке

Функция выбора хоста-мастера на стороне сервера находится в разработке.