Уникальным центральным элементом управления параметрами PostgreSQL является карта pgParameters
в cluster_specification. Это позволяет централизованно управлять и синхронизировать параметры PostgreSQL всех экземпляров БД в кластере. Хранители сгенерируют файл postgresql.conf
, который будет содержать параметры, определённые в карте pgParameters
.
Пользователь может изменять параметры в любое время, и хранители обновят postgresql.conf
и перезагрузят экземпляр.
Если для применения некоторых параметров требуется перезапуск экземпляра, это должно быть сделано вручную пользователем, перезапускающим хранителей.
Эти параметры, если они определены в спецификации кластера, будут игнорироваться, поскольку они управляются Stolon и не могут быть определены пользователем:
listen_addresses
port
unix_socket_directories
wal_keep_segments
wal_log_hints
hot_standby
max_replication_slots
max_wal_senders
synchronous_standby_names
Поскольку Stolon требует, чтобы значение wal_level
было как минимум replica
(или hot_standby
для PostgreSQL версии ниже 9.6), если вы оставите его неопределённым в pgParameters
, или укажете неправильное значение wal_level
, или значение меньше replica
или hot_standby
(например, minimal
), оно будет переопределено минимальным рабочим значением (replica
или hot_standby
).
Например, если вы хотите также сохранять логическую информацию о репликации в файлах WAL, вы можете указать wal_level
, установленный на logical
.
На самом деле Stolon не выполняет никаких проверок предоставленных конфигураций, поэтому, если предоставленные параметры неверны, это не создаст проблем при перезагрузке экземпляра (только некоторые предупреждения в журналах PostgreSQL), но при следующем перезапуске экземпляра, вероятно, произойдёт сбой, что сделает экземпляр недоступным (таким образом, вызывая переход на другой ресурс, если это мастер, или другие изменения в представлении кластера).
При инициализации кластера по умолчанию Stolon объединит в спецификации кластера параметры, которые были у экземпляра в конце инициализации, практически:
Чтобы отключить это поведение, просто установите mergePgParameters
на false в спецификации кластера и вручную задайте все pgParameters в спецификации кластера.
Так как postgresql.auto.conf переопределяет параметры postgresql.conf, изменение некоторых из них с помощью команд ALTER SYSTEM может нарушить работу кластера (параметры, управляемые Stolon, могут быть переопределены) и сделать параметры pg разными между экземплярами.
Во избежание этого Stolon отключает выполнение команд ALTER SYSTEM, делая postgresql.auto.conf символической ссылкой на /dev/null. При выполнении команды ALTER SYSTEM она вернёт ошибку.
Есть некоторые параметры pg, для которых требуется перезапустить PostgreSQL, чтобы они вступили в силу после изменения. Например, изменение max_connections
не вступит в силу до тех пор, пока не будет перезапущен базовый PostgreSQL. По умолчанию эта функция отключена и может быть включена с использованием спецификации кластера automaticPgRestart
. Это достигается с помощью pending_restart
в pg_settings для PostgreSQL 9.5 и выше и столбца context
таблицы pg_settings
для более низких версий (<= 9.4).
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )