|
配置列中的值反映了参考体系结构中的示例部署,但可以根据您的环境进行修改。针对下表中的许多设置提供了链接,以便帮助确定适合您的环境的配置值。
|
设置
|
配置
|
说明
|
---|---|---|
listen_addresses
|
‘*’
|
监听所有网络接口。在某些情况下,如果存在多个网络接口,则最好将其限制为特定的网络接口。
|
端口
|
5432
|
这是默认端口号。
|
max_connections
|
200
|
PostgreSQL 中的默认值为 100。ThingWorx 中的默认设置为 100 (maxpoolsize)。根据数据库中预期的并发连接总数增加此数目。此值应始终大于群集中服务器数与在 platform-settings.json 文件中为 ThingWorx 配置的最大池大小的乘积。
|
shared_buffers
|
1024MB
|
可选性能调节。设置数据库服务器用于共享内存缓冲区的内存量。建议将此值设置为计算机可用内存的四分之一。请参阅资源消耗 > 内存。
|
work_mem
|
32MB
|
可选性能调节。指定写入临时磁盘文件之前,用于内部排序操作和哈希表的内存量。请参阅资源消耗 > 内存。向下滚动至 work_mem。
|
maintenance_work_mem
|
512MB
|
可选性能调节。指定用于维修操作的最大内存量。请参阅资源消耗 > 内存。此选项刚好在 work_mem 后显示。
|
wal_level
|
枚举
|
可选性能调节。指定用于维修操作的最大内存量。请参阅预写日志 > 设置。
|
synchronous_commit
|
on
|
转至预写日志 > 设置,然后向下滚动至 synchronous_commit (枚举)。
|
archive_mode
|
on
|
|
archive_command
|
‘cd .’
|
转至预写日志 > 存档,然后向下滚动至 archive_command (字符串)。
|
max_wal_size
|
10
|
|
synchronous_standby_names
|
node1、node2 或 node2、node0 或 node0、node1
|
以逗号分隔列表的形式添加在其 recovery.conf 文件中指定的其他节点的 "application_name"。请参阅预写日志的设置部分中的 synchronous_commit。
|
hot_standby
|
true/false
|
有关此模式的信息,请参阅热备用。
|
fsync
|
on
|
转至预写日志 > 设置,然后向下滚动至 fsync。
|
检查点设置
|
有关检查点设置的信息,请参阅检查点。
|
|
如果从 Pgpool-II 进行连接,请验证身份验证访问权限是否符合此处所存档的 Pgpool-II 文档 (md5 或 trust)。
|
设置
|
值
|
说明
|
||
---|---|---|---|---|
listen_addresses
|
‘*’
|
选取允许 ThingWorx 应用程序的模型提供程序连接到 Pgpool-II 的值,无论其位于相同的服务器还是不同的服务器上。
|
||
port
|
5432
|
用于监听客户端连接的 TCP 端口
|
||
pcp_listen_address
|
*
|
用于端口控制协议 (PCP) 连接的 IP/主机筛选器 (*允许全部)
|
||
pcp_port
|
9898
|
用于监听 PCP 连接的 TCP 端口
|
||
backend_hostname
backend_port
backend_weight
backend_data_directory
backend_flag
|
<ip of backend#>
<port 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
|
这将通知 PostgreSQL 您正在使用主/备用复制。
|
||
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 DB 节点的最大连接设置。如需相关建议以及用于计算值的公式,请参阅手册的“池”部分 (请参阅上方的链接)
|
设置
|
值
|
说明
|
---|---|---|
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}'
|
客户端用于访问 PostgreSQL (通过 Pgpool-II) 的虚拟 IP 地址
|
ifconfig_path
|
/etc/pgpool2
|
包含 if_up_cmd 和 if_down_cmd 命令或脚本目录的绝对路径。
|
if_up_cmd
|
'ifup.sh $_IP_$ <eni id of Pgpool node>'
|
Pgpool-II 尝试显示地址为 delegate_IP 的虚拟 IP 接口时所发出的命令。可通过登录 EC2 管理控制台并转至 Pgpool-II 实例来检索 Pgpool-II 节点的 eni ID。在控制台的说明中,找到 Network interfaces 条目,单击 eth0,然后找到界面 ID。将此 ID 用于 $<eni id of Pgpool node>。
|
if_down_cmd
|
'ifdown.sh $_IP_$ <eni id of Pgpool node>'
|
Pgpool-II 尝试关闭地址为 delegate_IP 的虚拟 IP 接口时所发出的命令。请参阅 if_up_cmd 以获取 Pgpool-II 节点的 eni ID。
|
arping_path
|
/usr/bin
|
iputils-arping 包的安装路径
|
arping_cmd
|
arping -U $_IP_$ -w 1
|
用于验证 IP 的 arping 命令。
|
heartbeat_destination0
|
'{IP address of the other Pgpool-II node}'
|
针对其执行检测信号检查的 IP 地址;other_pgpool_hostname0 设置的值
|
heartbeat_destination_port0
|
9694
|
使用默认值。
|
heartbeat_device
|
'eth0'
|
用于检测信号通信 IP 地址的 NIC 设备
|
other_pgpool_hostname0
|
'{IP address of the other Pgpool-II node}'
|
其他 Pgpool-II 服务器实例的 IP 地址
|
other_pgpool_port0
|
5432
|
其他 Pgpool-II 节点所监听的端口
|
other_wd_port0
|
9000
|
其他 Pgpool-II 监视程序功能所监听的端口
|