Конфигурационные параметры

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

ПРИМЕЧАНИЕ
Некоторые из перечисленных параметров становятся доступны в UI ADCM после установки флага Show advanced.

ADPG

Параметр Описание Значение по умолчанию

Data directory

Директории, используемые для хранения данных на хостах кластера ADPG

/pg_data1

Sysctl parameters

В этом разделе описываются параметры ядра Linux. Для добавления нового параметра кликните дочернюю ноду Add property у опции Sysctl parameters [key:value].

Sysctl parameters
Sysctl parameters

В появившемся окне укажите название и значение параметра и нажмите Apply.

Окно с параметром Sysctl
Окно с параметром Sysctl

Вы можете добавить несколько параметров.

External Etcd cluster

ADPG использует etcd в качестве распределенного хранилища конфигурации Patroni (Distributed Configuration Store, DCS). Если вы используете внешний кластер etcd, переведите соответствующий переключатель в положение активен, раскройте ноду External Etcd [ip_address:port] и нажмите Add property.

Настройки внешнего etcd
Настройки внешнего etcd

В появившемся окне укажите IP-адрес etcd-сервера в первой строке и порт во второй.

Укажите IP-адрес и порт внешнего etcd
Укажите IP-адрес и порт внешнего etcd

Вы можете добавить несколько серверов etcd.

Enable PgBouncer

Чтобы использовать PgBouncer, активируйте переключатель Enable PgBouncer. Когда этот переключатель включен, вы можете развернуть соответствующую ноду и указать настройки, перечисленные в таблице ниже.

Настройки PgBouncer
Настройки PgBouncer
Параметр Описание Значение по умолчанию

listen_port

Порт, который прослушивает PgBouncer. Этот порт нельзя поменять у работающего кластера. Необходимо выполнить Reconfigure & Restart для того, чтобы применить изменения

15432

pool_mode

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

  • session — сервер возвращается в пул после отключения клиента.

  • transaction — сервер возвращается в пул после завершения транзакции.

  • statement — сервер возвращается в пул после завершения запроса. В этом режиме запрещены транзакции, включающие несколько операторов.

session

max_client_conn

Максимально разрешенное количество клиентских подключений

100

default_pool_size

Количество подключений к серверу, разрешенное для каждой пары пользователь/база данных

20

min_pool_size

Минимальное количество подключений к серверу, которое должно находиться в пуле

0

reserve_pool_size

Количество дополнительных подключений, разрешенных для пула, если клиентское соединение превышает время, указанное в опции reserve_pool_timeout

0

reserve_pool_timeout

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

5

max_db_connections

Максимальное количество подключений к серверу для базы данных

0

max_user_connections

Максимальное количество подключений к серверу для пользователя

0

Enable all users

Если эта опция включена, разрешается доступ всем пользователям с аутентификацией по паролю. Если опция отключена, необходимо указать имена пользователей в параметре Users list, чтобы разрешить этим пользователям доступ к ADPG с помощью PgBouncer

Enabled

Users list

Список пользователей, которым разрешен доступ к ADPG с помощью PgBouncer, когда опция Enable all users отключена. Например: postgres,user1

Empty

Enable all databases

Если эта опция включена, разрешается доступ ко всем существующим базам данных через PgBouncer. Если опция отключена, необходимо указать имена баз данных в параметре Databases list, чтобы разрешить доступ к этим базам данных с помощью PgBouncer

Enabled

Databases list

Список баз данных, к которым разрешен доступ с помощью PgBouncer, когда опция Enable all databases отключена. Имеет тот же синтаксис, что и секция PgBouncer databases. Например, postgres = host=localhost port=5432

Empty

Use custom pg_hba.conf

Если эта опция отключена, для PgBouncer используется основная секция PG_HBA сервиса ADPG. Если опция включена, необходимо указать настройки для PgBouncer в параметре Custom pg_hba.conf. В этом случае PgBouncer будет использовать настройки из Custom pg_hba.conf

Disabled

Custom pg_hba.conf

Пользовательская секция pg_hba.conf для PgBouncer

Empty

После того как вы укажете необходимые настройки, кликните Save и выполните действие Reconfigure & Restart, чтобы применить изменения.

Чтобы мониторинг PgBouncer работал правильно, необходимо выполнить действие кластера Reconfigure Monitoring Agents после изменения настроек из секции конфигурации Enable pgbouncer.

Patroni ADPG configurations

В этом разделе описываются параметры конфигурации Patroni, которые можно изменить в пользовательском интерфейсе ADCM. Для получения дополнительной информации об этих настройках обратитесь к статье ADPG High Availability overview.

Параметр Описание Значение по умолчанию

synchronous_mode

Активирует режим синхронной репликации Patroni

false

synchronous_node_count

Указывает количество синхронных резервных нод. Значение параметра не должно превышать количество хостов с установленным компонентом ADPG сервиса ADPG. Этот параметр игнорируется, если synchronous_mode выключен

1

synchronous_mode_strict

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

false

maximum_lag_on_failover

Указывает количество транзакций в байтах, которые могут быть потеряны

1048576

ttl

TTL для получения блокировки лидера (в секундах). Определяет продолжительность времени перед автоматическим запуском failover-процесса

30

loop_wait

Количество времени, в течение которого Patroni находится в спящем режиме, прежде чем начать новую итерацию цикла обработки событий (в секундах)

10

retry_timeout

Время ожидания для повторных попыток операций DCS и PostgreSQL (в секундах). Задержки с продолжительностью меньше указанного значения не приводят к переизбранию лидера со стороны Patroni

10

patroni_listen_port

Порт, который прослушивается Patroni для выполнения REST API. Можно изменить только до установки сервиса ADPG

8008

use_custom_location

Если этот параметр включен, вы можете указать собственные настройки Patroni. Необходимо выполнить Reconfigure & Restart для того, чтобы применить изменения

false

patroni_log_dir

Существующая папка для хранения логов Patroni. Параметр имеет эффект только в том случае, если для параметра use_custom_location установлено значение true. Необходимо выполнить Reconfigure & Restart для того, чтобы применить изменения

/var/log/adpg14/patroni

patroni_log_file_size

Максимальный размер одного файла лога Patroni в байтах. Параметр имеет эффект только в том случае, если для параметра use_custom_location установлено значение true. Необходимо выполнить Reconfigure & Restart для того, чтобы применить изменения

25000000

patroni_log_file_num

Количество файлов журнала, которые необходимо хранить. Параметр имеет эффект только в том случае, если для параметра use_custom_location установлено значение true. Необходимо выполнить Reconfigure & Restart для того, чтобы применить изменения

4

patroni_log_level

Уровень логирования. Может принимать следующие значения: critical, error, warning, info, debug и notset. Параметр имеет эффект только в том случае, если для параметра use_custom_location установлено значение true. Необходимо выполнить Reconfigure & Restart для того, чтобы применить изменения

info

ADPG configurations

Секция ADPG configurations позволяет вам задать параметры из файла postgresql.conf (путь по умолчанию /pg_data1/adpg14/postgresql.conf). Используйте ADCM, чтобы изменить эти параметры. Когда сервис ADPG выполняет Reconfigure & Restart или Reconfigure & Reload, файл postgresql.conf перезаписывается с настройками, указанными на вкладке Primary configuration сервиса ADPG. Если вы изменили файл postgresql.conf напрямую, эти изменения будут потеряны.

После изменения перечисленных ниже параметров конфигурации ADPG выполните Reconfigure & Reload или Reconfigure & Restart, чтобы применить изменения.

Наименование параметра Описание Значение по умолчанию

port

TCP-порт, который прослушивается сервером. Выполните Reconfigure & Restart для применения изменений

5432

max_connections

Определяет максимальное количество одновременных соединений с сервером базы данных. Для replica-хоста значение этого параметра должно быть больше или равно значению на leader-хосте. Если данное требование не будет выполнено, replica-хост отклонит все запросы. Выполните Reconfigure & Restart для применения изменений

100

shared_buffers

Устанавливает объем памяти, используемой сервером баз данных для буферов общей памяти. Чем выше значение данного параметра, тем меньше будет нагрузка на жесткие диски хоста. Выполните Reconfigure & Restart для применения изменений

128 МБ

max_worker_processes

Устанавливает максимальное количество фоновых процессов, которые может поддерживать система. Выполните Reconfigure & Restart для применения изменений

8

max_parallel_workers

Устанавливает максимальное количество операций, которые система может поддерживать параллельно. Выполните Reconfigure & Restart для применения изменений

8

max_parallel_workers_per_gather

Устанавливает максимальное количество операций, которые могут быть запущены одним узлом Gather или Gather Merge. Выполните Reconfigure & Restart для применения изменений

2

max_parallel_maintenance_workers

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

2

effective_cache_size

Сообщает планировщику запросов ADPG, какой лимит оперативной памяти доступен для кэширования данных как для параметра shared_buffers, так и для кэша файловой системы. Параметр effective_cache_size помогает планировщику правильно оценить затраты для эффективного выделения памяти для дискового кэша для одного запроса. Эта оценка влияет на то, как будет оценена стоимость использования индекса. Чем выше это значение, тем больше вероятность применения сканирования по индексу. Соответственно, чем ниже значение, тем более вероятно, что будет выбрано последовательное сканирование

4096 МБ

maintenance_work_mem

Задаёт лимит памяти для операций обслуживания. Увеличение значения для данного параметра может привести к ускорению операций по очистке и восстановлению БД из копии

64 МБ

work_mem

Задаёт лимит non-shared-памяти, который будет использоваться для внутренних операций при выполнении запросов, например, к временным таблицам прежде, чем будут задействованы временные файлы на диске. Этот лимит действует как простой элемент управления ресурсами, предотвращая переход хоста в активную подкачку (swapping) из-за переполнения. Так как выделяемая память является non-shared-памятью, то большие и сложные запросы могут превышать заданный лимит

4 МБ

min_wal_size

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

80 МБ

max_wal_size

Параметр max_wal_size задаёт лимит памяти, до которого может вырастать размер журнала между автоматическими контрольными точками

1024 МБ

wal_keep_size

Задаёт минимальный объём прошлых сегментов журнала, который будет сохраняться в каталоге pg_wal, чтобы резервный сервер мог выбрать их при потоковой репликации. Если резервный сервер, подключённый к передающему, отстаёт больше чем на wal_keep_size мегабайт, передающий может удалить сегменты WAL, всё ещё необходимые резервному, и в этом случае соединение репликации прервётся. В результате этого также будут прерваны зависимые соединения. Однако, если архивация WAL включена, резервный сервер сможет восстановиться, выбрав этот сегмент из архива. wal_keep_size задает минимальный размер сегмента в pg_wal. Системе может потребоваться сохранить больше сегментов для архивации WAL или для восстановления после контрольной точки. Если wal_keep_size равен 0, система не хранит дополнительных сегментов для резервных целей. В версии Enterprise, если значение wal_keep_size установлено менее 16 МБ, Patroni вместо этого значения использует 128 МБ в своей конфигурации. При этом значение в пользовательском интерфейсе ADCM не меняется

0 МБ

huge_pages

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

  • Try — сервер пытается использовать большие страницы памяти. Если использование больших страниц не удалось, сервер переключается на стандартные.

  • On — если сервер не сможет использовать большие страницы, он не будет запущен.

  • Off — большие страницы не используются.

try

superuser_reserved_connections

Определяет количество «слотов» подключений, которые сервер будет резервировать для суперпользователей. Выполните Reconfigure & Restart для применения изменений

3

logging_collector

Включает сборщик сообщений логирования (logging collector). Сборщик сообщений логирования — это фоновый процесс, который перехватывает сообщения логирования, отправленные в stderr, и перенаправляет их в файлы логов. Выполните Reconfigure & Restart для применения изменений

Сборщик сообщений логирования включен (true)

log_directory

Определяет каталог, в который записываются лог-файлы. Может содержать абсолютный путь или путь относительно каталога с данными кластера ADPG

log
(абсолютный путь — /pg_data1/adpg14/log)

log_filename

Задает шаблон имени лог-файла, может содержать спецификаторы % strftime для включения времени и даты создания в имя файла. Если спецификаторы % не заданы, используйте утилиты ротации лог-файлов, чтобы избежать переполнения диска

postgresql-%a.log

log_rotation_age

Определяет максимальный период использования лог-файла, после которого создается новый лог-файл. Если значение задано без единиц измерения, оно берётся в минутах. Чтобы отключить создание лог-файлов по времени, установите значение 0

1d

log_rotation_size

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

0

log_min_messages

Определяет минимальный уровень важности сообщений, которые записываются в лог-файл. Допустимые значения: debug5, debug4, debug3, debug2, debug1, info, notice, warning, error, log, fatal и panic (cм. таблицу Уровни важности лог-сообщений). Сообщения с заданной важностью и более важные записываются в лог-файл. Например, если вы установили значение warning, лог-файл будет включать сообщения с важностью warning, error, log, fatal и panic

warning

log_min_error_statement:

Определяет какие SQL-операторы, завершившиеся ошибкой, записываются в лог-файл. Допустимые значения: debug5, debug4, debug3, debug2, debug1, info, notice, warning, error, log, fatal и panic (cм. таблицу Уровни важности лог-сообщений). SQL-оператор будет записан в лог-файл, если он завершится ошибкой с указанным уровнем важности или выше. Чтобы отключить логирование SQL-операторов, установите значение panic

error

postgresql.conf custom section

Вы можете использовать postgresql.conf custom section, чтобы установить дополнительные параметры, которые будут записаны в файл postgresql.conf. Для добавления параметра переведите соответствующий переключатель в положение активен, раскройте ноду postgresql.conf [key:value] и кликните Add properties.

Опция postgresql.conf custom section
Опция "postgresql.conf custom section"

В появившемся окне укажите название и значение параметра и нажмите Apply.

.Окно с параметром
Окно с параметром

Вы можете добавить несколько параметров.

Параметры из postgresql.conf custom section имеют более низкий приоритет и не проходят валидацию в ADCM. Если сервис ADPG не сможет запуститься с этими настройками, изменения будут отменены.

PG_HBA

Поле для добавления записей в файл pg_hba.conf, в котором настраивается аутентификация пользователей.

Balancer

Параметр Описание Значение по умолчанию

leader as replica

Определяет, будет ли нода-лидер обрабатывать транзакции на чтение

False

leader_port

Назначает порт на хосте с компонентом HAProxy, на который должны приходить транзакции на запись

6432

replica_port

Определяет порт на хосте с компонентом HAProxy, на который должны приходить транзакции на чтение

6433

balancer_stats_port

Определяет порт, на котором доступна веб-страница с отчетом статистики HAProxy

7000

pgbouncer_leader_port

Все подключения к этому порту передаются экземпляру PgBouncer ноды-лидера ADPG

16432

pgbouncer_replica_port

Все подключения к этому порту передаются экземплярам PgBouncer нод-реплик ADPG

16433

Chrony

Параметр Описание Значение по умолчанию

NTP servers

Адреса действующих NTP-серверов. Например, 0.ru.pool.ntp.org, 1.ru.pool.ntp.org. Если этот параметр установлен, Master получает время от NTP-серверов, Secondary Master — от Master или NTP-серверов, Segment hosts — от Master или Secondary Master. Если параметр не установлен или все NTP-серверы становятся недоступны, Master использует локальные часы, Secondary Master получает время от Master или использует локальные часы, а Segment Hosts используют время Master или Secondary Master

 — 

Etcd

ВАЖНО
Параметры конфигурации Etcd нельзя изменить после установки.
Параметр Описание Значение по умолчанию

listen_peer_urls_port

Указывает порт для связи между серверами Etcd

2380

listen_client_urls_port

Указывает порт для клиентских запросов

2379

Metrics storage

Параметр Описание Значение по умолчанию

Monitoring db name

Указывает имя базы данных, которую должен использовать сервис Metrics storage

adpg_metrics

Monitoring username

Определяет имя пользователя для подключения к кластеру мониторинга ADPG

adpg_metrics_sender

Monitoring user’s password

Устанавливает пароль, который будет использоваться пользователем adpg_metrics_sender для подключения к кластеру ADPG. Пароль может включать заглавные [A-Z] и строчные [a-z] буквы английского алфавита, цифры [0-9] и специальные символы

 — 

Grafana TCP port

Указывает TCP-порт, на котором Grafana прослушивает соединения

12012

Grafana admin’s password

Устанавливает пароль для пользователя admin, являющегося пользователем по умолчанию для Grafana

 — 

Нашли ошибку? Выделите текст и нажмите Ctrl+Enter чтобы сообщить о ней