|
Значения, перечисленные в столбце "Конфигурация", отражают пример развертывания в справочной архитектуре, но могут быть изменены для конкретной среды. Значения, перечисленные в столбце "Конфигурация", отражают пример развертывания в справочной архитектуре, но могут быть изменены для конкретной среды. Для многих настроек в приведенной ниже таблице указаны ссылки, с помощью которых будет легче определить значения конфигурации для конкретной среды.
|
Настройка
|
Конфигурация
|
Описание
|
---|---|---|
listen_addresses
|
‘*’
|
Прослушивание всех сетевых интерфейсов. В некоторых ситуациях, если существует несколько сетевых интерфейсов, лучше ограничить это число конкретными сетевыми интерфейсами.
|
Port
|
5432
|
Номер порта по умолчанию.
|
max_connections
|
200
|
Значение по умолчанию в PostgreSQL: 100. Настройка по умолчанию для ThingWorx: 100 (maxpoolsize). Увеличьте это число соответственно общему числу параллельных соединений, ожидаемых в этой базе данных. Это значение должно быть больше количества серверов в кластере, умноженному на максимальный размер пула, сконфигурированный в файле platform-settings.json для ThingWorx.
|
shared_buffers
|
1024MB
|
Дополнительная настройка производительности. Задает объем памяти сервера базы данных, используемой для буферов памяти общего доступа. Рекомендуется задать его равным одной четверти памяти, доступной на компьютере. См. раздел Resource Consumption > Memory (Потребление ресурсов > Память) (на английском языке).
|
work_mem
|
32MB
|
Дополнительная настройка производительности. Определяет объем памяти, который будет использоваться внутренними операциями сортировки и хэш-таблицами перед записью во временные файлы на диске. См. раздел Resource Consumption > Memory (Потребление ресурсов > Память) (на английском языке). Прокрутите вниз до work_mem.
|
maintenance_work_mem
|
512MB
|
Дополнительная настройка производительности. Определяет максимальный объем памяти, который будет использоваться операциями технического обслуживания. См. раздел Resource Consumption > Memory (Потребление ресурсов > Память) (на английском языке). Эта опция появляется сразу после work_mem.
|
wal_level
|
enum
|
Дополнительная настройка производительности. Определяет максимальный объем памяти, который будет использоваться операциями технического обслуживания. См. раздел Write Ahead Log > Settings (Опережающая запись журнала > Настройки) (на английском языке).
|
synchronous_commit
|
on
|
Перейдите к разделу Write Ahead Log > Settings (Опережающая запись журнала > Настройки) (на английском языке) и прокрутите вниз до synchronous_commit (enum).
|
archive_mode
|
on
|
• Write Ahead Log >Archiving (Опережающая запись журнала > Архивация) (на английском языке).
|
archive_command
|
'cd'
|
Перейдите к разделу Write Ahead Log > Archiving (Опережающая запись журнала > Архивация) (на английском языке) и прокрутите вниз до archive_command (string).
|
max_wal_size
|
10
|
Перейдите к разделу Write Ahead Log (Опережающая запись журнала) (на английском языке) и щелкните ссылку ARCHIVING. Прокрутите вверх до max_wal_size (integer). Дополнительные сведения о конфигурации WAL см. в разделе WAL Configuration (Конфигурация WAL)документа PostgreSQL 10 (на английском языке).
|
synchronous_standby_names
|
node1, node2 или node2, node0 или node0, node1
|
Добавьте application_name для других узлов в виде списка, разделенного запятыми, как указано в файлах recovery.conf. См. synchronous_commit в разделе Settings документа Write Ahead Log (Опережающая запись журнала) (на английском языке).
|
hot_standby
|
true/false
|
Сведения об этом режиме см. в документе Hot Standby (Горячее резервирование) (на английском языке).
|
fsync
|
on
|
Перейдите к разделу Write Ahead Log > Settings (Опережающая запись журнала > Настройки) (на английском языке) и прокрутите вниз до fsync.
|
checkpoint settings
|
Дополнительные сведения о настройках контрольных точек см. в разделе Checkpoints (Контрольные точки) (на английском языке).
|
|
При соединении из Pgpool-II убедитесь, что доступ к аутентификации соответствует документации по Pgpool-II (md5 или trust), приведенной здесь.
|
Настройка
|
Значение
|
Описание
|
||
---|---|---|---|---|
listen_addresses
|
‘*’
|
Выберите значения, которые позволяют поставщику модели приложения ThingWorx соединяться с Pgpool-II, независимо от того, находится он на том же или на другом сервере.
|
||
port
|
5432
|
Порт TCP для прослушивания соединений с клиентом
|
||
pcp_listen_address
|
*
|
Фильтр IP-адресов хост-компьютеров для соединений по протоколу управления портами (PCP, Port Control Protocol) (* разрешены все)
|
||
pcp_port
|
9898
|
Порт TCP для прослушивания соединений PCP
|
||
backend_hostname
backend_port
backend_weight
backend_data_directory
backend_flag
|
<ip of backend#>
<порт бэкенда>
1
/var/lib/postgresql/10.x/main
ALLOW_TO_FAILOVER
|
Задайте эти значения конфигурации бэкенда для каждого из трех узлов (главного узла и двух резервных). Например, узел backend_hostname0 - главный, узел backend_hostname1 - первый резервный и т. д. Дополнительные сведения см. в интерактивной документации по PostgreSQL.
|
||
enable_pool_hba
|
on
|
Включает pool_hba.conf
|
||
master_slave_mode
|
on
|
Сообщает Postgres, что используется репликация "мастер-резервный".
|
||
load_balance_mode
|
off
|
|
||
master_slave_sub_mode
|
stream
|
Сообщает Pgpool-II, что нужно использовать стандартную потоковую репликацию PostgreSQL.
|
||
replication_mode
|
off
|
Не использовать репликацию Pgpool-II, вместо этого использовать стандартную потоковую репликацию PostgreSQL.
|
||
sr_check_period
|
10
|
Задержка потоковой репликации в секундах
|
||
sr_check_user
|
replicator
|
Пользователь потоковой репликации
|
||
sr_check_password
|
replicator
|
Пароль для потоковой репликации
|
||
sr_check_database
|
postgres
|
Потоковая репликация базы данных
|
||
health_check_user
|
postgres
|
Пользователь проверки работоспособности переключения при отказе
|
||
health_check_password
|
postgres
|
Пароль проверки работоспособности переключения при отказе
|
||
health_check_database
|
postgres
|
База данных проверки работоспособности переключения при отказе
|
||
failover_command
|
/etc/pgpool2/failover.sh %d %h %D %m %H %R %M %P
|
Дополнительные сведения об этой настройке см. в разделе описания failover_command ниже.
Также см. следующие примеры сценариев в Приложении C:
• failover.sh
• retargetMaster_001.sh
• retargetMaster_002.sh
• retargetMaster_003.sh
|
||
num_init_children
max_pool
max_child_connections
superuser_reserved_connections
|
Параметры настройки производительности. Эти настройки связаны с функциональностью пула соединений Pgpool-II. Убедитесь в наличии при запуске достаточного числа соединений, необходимых для обеспечения максимальной пропускной способности конкретного трафика, а также в том, что оно не превышает значение настройки максимума соединений для узлов БД PostgreSQL. Рекомендации, а также формулы для расчета значений см. в разделе "Пулы" руководства (см. ссылку выше).
|
Настройка
|
Значение
|
Описание
|
---|---|---|
use_watchdog
|
on
|
Включает сервис наблюдения в Pgpool-II
|
wd_hostname
|
'{IP address of this Pgpool-II node}'
|
Имя хост-компьютера или IP-адрес этого сервиса наблюдения
|
wd_port
|
9000
|
Номер порта этого сервиса наблюдения
|
delegate_IP
|
'{Virtual IP address to access PostgreSQL}'
|
Виртуальный IP-адрес, используемый клиентами для доступа к PostgreSQL (через Pgpool-II)
|
ifconfig_path
|
/etc/pgpool2
|
Абсолютный путь к каталогу, содержащему команды if_up_cmd и if_down_cmd или сценарии.
|
if_up_cmd
|
'ifup.sh $_IP_$ <eni id of Pgpool node>'
|
Команда, выдаваемая, когда Pgpool-II пытается вызвать виртуальный IP-интерфейс с адресом delegate_IP. Можно извлечь идентификатор eni узла Pgpool-II, войдя в консоль администрирования EC2 и перейдя к экземпляру Pgpool-II. В его описании в консоли найдите запись Network interfaces, щелкните значок eth0 и найдите ИД интерфейса. Используйте его для $<eni id of Pgpool node>.
|
if_down_cmd
|
'ifdown.sh $_IP_$ <eni id of Pgpool node>'
|
Команда, выдаваемая, когда Pgpool-II пытается закрыть виртуальный IP-интерфейс с адресом delegate_IP. См. if_up_cmd, чтобы получить идентификатор eni для узла Pgpool-II.
|
arping_path
|
/usr/bin
|
Путь к пакету установки iputils-arping
|
arping_cmd
|
arping -U $_IP_$ -w 1
|
Команда arping, используемая для проверки IP-адресов.
|
heartbeat_destination0
|
'{IP address of the other Pgpool-II node}'
|
IP-адрес, для которого выполняется проверка контрольного сигнала; значение параметра other_pgpool_hostname0
|
heartbeat_destination_port0
|
9694
|
Используйте значение по умолчанию.
|
heartbeat_device
|
"eth0"
|
Сетевая плата для IP-адреса при обмене контрольными сигналами
|
other_pgpool_hostname0
|
'{IP address of the other Pgpool-II node}'
|
IP-адрес другого экземпляра сервера Pgpool-II
|
other_pgpool_port0
|
5432
|
Порт, прослушиваемый другим узлом Pgpool-II
|
other_wd_port0
|
9000
|
Порт, прослушиваемый другим сервисом наблюдения Pgpool-II
|