1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/dengchendeng-stolon

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
postgres_parameters.md 6 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
gitlife-traslator Отправлено 26.11.2024 01:14 b6e39ce

Настройка параметров сервера PostgreSQL

Уникальным центральным элементом управления параметрами 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

Особые случаи

wal_level

Поскольку 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 объединит в спецификации кластера параметры, которые были у экземпляра в конце инициализации, практически:

  • Когда режим initMode новый, он объединит параметры, созданные initdb.
  • Когда режим initMode существующий, он объединит параметры существующего экземпляра.

Чтобы отключить это поведение, просто установите mergePgParameters на false в спецификации кластера и вручную задайте все pgParameters в спецификации кластера.

postgresql.auto.conf и команды ALTER SYSTEM

Так как postgresql.auto.conf переопределяет параметры postgresql.conf, изменение некоторых из них с помощью команд ALTER SYSTEM может нарушить работу кластера (параметры, управляемые Stolon, могут быть переопределены) и сделать параметры pg разными между экземплярами.

Во избежание этого Stolon отключает выполнение команд ALTER SYSTEM, делая postgresql.auto.conf символической ссылкой на /dev/null. При выполнении команды ALTER SYSTEM она вернёт ошибку.

Перезапуск PostgreSQL при изменении некоторых параметров pg

Есть некоторые параметры pg, для которых требуется перезапустить PostgreSQL, чтобы они вступили в силу после изменения. Например, изменение max_connections не вступит в силу до тех пор, пока не будет перезапущен базовый PostgreSQL. По умолчанию эта функция отключена и может быть включена с использованием спецификации кластера automaticPgRestart. Это достигается с помощью pending_restart в pg_settings для PostgreSQL 9.5 и выше и столбца context таблицы pg_settings для более низких версий (<= 9.4).

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/dengchendeng-stolon.git
git@api.gitlife.ru:oschina-mirror/dengchendeng-stolon.git
oschina-mirror
dengchendeng-stolon
dengchendeng-stolon
master