Изменения перечня конфигурационных параметров при обновлении
В данном разделе представлен список параметров по которым могут быть применены следующие действия при обновлении:
- удаление;
- изменение;
- добавление при отсутствии на стенде.
Параметры могут находиться в следующих конфигурационных файлах:
postgresql.conf(для standalone конфигурации): добавление новых параметров из новой версии, замена старых значений в соответствии с правилом замены параметров;postgres.yml(для конфигурации cluster): добавление новых параметров из новой версии, замена старых значений в соответствии с правилом замены параметров;pangolin-pooler.ini: добавление новых параметров из новой версии, замена старых значений в соответствии с правилом замены параметров;postgresql.auto.conf: добавление новых параметров из новой версии без замены старых значений;postgresql.base.conf: добавление новых параметров из новой версии без замены старых значений;pg_hba.conf: добавление новых параметров из новой версии без замены старых значений, кроме параметров типаpghba_users(берутся из новой версии с заменой старых значений).
Правила замены параметров в файлах
Значение переменных
В разделе могут встречаться следующие переменные:
{{ PGHOME }}— путь до каталогаPGHOMEсерверной части;{{ PGHOME_CLIENT }}— путь до каталога клиентской частиPGHOME_CLIENT;{{ PGDATA }}— путь до директории данныхPGDATA;{{ PGBACKUP }}— путь до каталога для создания РКPGBACKUP;{{ PGBACKUP_BIN }}— путь доpangolin_backup_files.bin_path(по умолчанию/opt/pangolin-backup-tools/bin);{{ CLUSTER_NAME }}— имя кластера;{{ POOLER_BIN }}— путь до каталогаpangolin_pooler_files.bin_dir(по умолчанию/opt/pangolin-pooler/bin);{{ USED_FQDN_HOST }}— адрес из переменнойused_fqdn_host, если доступен;{{ ANSIBLE_FQDN }}— адресansible_fqdn, еслиused_fqdn_hostнедоступен;{{ PORTS_PG }}— значение переменнойports.pg;{{ PORTS_PGBOUNCER_PG_AUTH }}— значение портаpgbouncer_pg_auth.
Параметры с зависимостью от ядер CPU
Значение параметровmax_parallel_workers и max_worker_processes автоматически рассчитывается исходя из количества ядер CPU сервера, однако максимальное значение ограничено 32 рабочими потоками.
Формула расчета:
Максимальное количество параллельных процессов определяется следующим образом:
- Если предыдущее значение параметра больше или равно 32, оно сохраняется неизменным.
- Если число физических или виртуальных процессоров менее 32, устанавливается фиксированное значение равное 32.
- В любом другом случае используется фактическое количество процессоров на сервере.
Правила замены параметров в файлах конфигурации:
-
postgres.yml:postgresql:
bin_dir: {{ PGHOME }}/bin
bin_dir_client: {{ PGHOME_CLIENT }}/bin
parameters:
pg_plugins_path: {{ PGHOME }}/lib
archive_command: {{ PGBACKUP_BIN }}/pg_probackup archive-push -B {{ PGBACKUP }} —instance {{ CLUSTER_NAME }} —wal-file-path=%p —wal-file-name=%f —compress —overwrite -j 4 —batch-size=100
superuser_reserved_connections: 10 # Значение по умолчанию
max_parallel_workers: {{ CPU <= x >= CPU_min & x <=32 }}
max_worker_processes: {{ CPU <= x >= CPU_min & x <=32 }}
enabled_extra_auth_methods: 'cert' # Значение по умолчанию
wal_keep_size: {{WAL_KEEP_SEGMENT_VALUE}}
callbacks:
on_role_change: {{ POOLER_BIN }}/pangolin-pooler-restart.sh
log:
file_name: pangolin-manager-%Y-%m-%d_%H%M%S.log
bootstrap.dcs.postgresql.parameters:
max_worker_processes: {{ CPU <= x >= CPU_min & x <=32 }}Параметр Новое значение / Формат С чем связано обновление параметра bin_dir{{ PGHOME }}/binИзменен путь к серверной части ( PGHOME)bin_dir_client{{ PGHOME_CLIENT }}/binРазделение клиентской и серверной части pg_plugins_path{{ PGHOME }}/libРазделение клиентской и серверной части и изменение пути до PGHOMEarchive_command{{ PGBACKUP_BIN }}/pg_probackup archive-push -B {{ PGBACKUP }} —instance {{ CLUSTER_NAME }} —wal-file-path=%p —wal-file-name=%f —compress —overwrite -j 4 —batch-size=100Возможны изменения путей по умолчанию в переменных команды superuser_reserved_connections10Изменены минимальные системные требования max_parallel_workers{{ CPU <= x >= CPU_min & x <=32 }}Изменены минимальные системные требования max_worker_processes{{ CPU <= x >= CPU_min & x <=32 }}Только для standalone-конфигураций. Изменены минимальные системные требования enabled_extra_auth_methodscertТолько при обновлении с переносом данных. Изменены требования по безопасности wal_keep_size{{WAL_KEEP_SEGMENT_VALUE}}Добавление/изменение параметра в связи с переходом от определения wal_keep_segmentsкwal_keep_sizeon_role_change{{ POOLER_BIN }}/pangolin-pooler-restart.shИзменение пути до каталога pangolin_pooler_files.bin_dir({{ POOLER_BIN }})log.file_namepangolin-manager-%Y-%m-%d_%H%M%S.logИзменено имя лог-файла bootstrap.dcs.postgresql.parameters.max_worker_processes{{ CPU <= x >= CPU_min & x <=32 }}Изменены минимальные системные требования -
postgresql.conf:hba_file: {{ PGDATA }}/pg_hba.conf
ident_file: < путь до папки 'PGDATA' >/pg_ident.conf
pg_plugins_path: {{ PGHOME }}/lib
archive_command: {{ PGBACKUP_BIN }}/pg_probackup archive-push -B {{ PGBACKUP }} —instance {{ CLUSTER_NAME }} —wal-file-path=%p —wal-file-name=%f —compress —overwrite -j 4 —batch-size=100
superuser_reserved_connections: 10 # Значение по умолчанию
max_parallel_workers: {{ CPU <= x >= CPU_min & x <=32 }}
max_worker_processes: {{ CPU <= x >= CPU_min & x <=32 }}
enabled_extra_auth_methods: 'cert' # Значение по умолчанию
wal_keep_size: {{WAL_KEEP_SEGMENT_VALUE}}Параметр Новое значение / Формат С чем связано обновление параметра hba_file{{ PGDATA }}/pg_hba.confИзменен путь до PGDATAident_file{{ PGDATA }}/pg_ident.confТолько при обновлении с переносом данных. Изменен путь до PGDATApg_plugins_path{{ PGHOME }}/libИзменен путь до PGHOMEв новой версииarchive_command{{ PGBACKUP_BIN }}/pg_probackup archive-push -B {{ PGBACKUP }} —instance {{ CLUSTER_NAME }} —wal-file-path=%p —wal-file-name=%f —compress —overwrite -j 4 —batch-size=100Возможны изменения путей по умолчанию в переменных команды superuser_reserved_connections10Изменены минимальные системные требования max_parallel_workers{{ CPU <= x >= CPU_min & x <=32 }}Изменены минимальные системные требования max_worker_processes{{ CPU <= x >= CPU_min & x <=32 }}Только для standalone-конфигураций. Изменены минимальные системные требования enabled_extra_auth_methodscertТолько при обновлении с переносом данных. Изменены требования по безопасности wal_keep_size{{WAL_KEEP_SEGMENT_VALUE}}Добавление/изменение параметра в связи с переходом от определения wal_keep_segmentsкwal_keep_size -
pangolin-poller.ini:databases:
* = host={{ USED_FQDN_HOST or ANSIBLE_FQDN }} port={{ PORTS_PG }} auth_port={{ PORTS_PGBOUNCER_PG_AUTH }} auth_pool_size=1
pgbouncer:
admin_users: pgbouncerПараметр Новое значение / Формат С чем связано обновление параметра databases* = host={{ USED_FQDN_HOST or ANSIBLE_FQDN }} port={{ PORTS_PG }} auth_port={{ PORTS_PGBOUNCER_PG_AUTH }} auth_pool_size=1Обновление параметра связано с возможным изменением параметра ports.pgpgbouncer.admin_userspgbouncerДобавление нового параметра при возможном отсутствии
Удаляемые параметры в файлах:
-
postgres.yml:postgresql:
authentication:
replication.password: # Для конфигураций с включенным 'auth_reencrypt', удаление параметра в связи с требованиями по безопасности подключения
superuser.password: # Для конфигураций с включенным 'auth_reencrypt', удаление параметра в связи с требованиями по безопасности подключения
parameters:
wal_keep_segments: # Удаление параметра ввиду перехода от определения 'wal_keep_segments' к 'wal_keep_size' -
pangolin-poller.ini:auth_user: # Удаление параметра в связи с требованиями по безопасности подключения
auth_query: # Удаление параметра в связи с требованиями по безопасности подключения