1. 安装前需求
所有的安装前步骤均应在所有 PostgreSQL 节点上执行。
网络通信
所有三个 PostgreSQL 节点都需要通过 WAL (预写日志) 的 TCP 实现彼此之间的通信。
端口
用途
1
5432
此端口用于 PostgreSQL 通信。
2
22
此 SSH 端口将用于 Pgpool 以调用 PostgreSQL 节点上的脚本。
3
NFS?
所有 PostgreSQL 节点必须具有访问公用文件共享位置的权限,才能写入和访问存档日志。此端口可能会有不同,具体视所选的文件共享方法而定。
文件共享
每个 PostgreSQL 节点都必须具有唯一的共享位置,此类节点可在此位置写入存档日志,而其他节点可以访问这些存档日志。
文件夹名称
用途
1
/db/node0archive
node0 会将存档日志写入此文件夹,然后从节点将从此文件夹中读取此存档日志。此文件夹将在 node0、node1 和 node2 之间共享。
2
/db/node1archive
node1 会将存档日志写入此文件夹,然后从节点将从此文件夹中读取此存档日志。此文件夹将在 node0、node1 和 node2 之间共享。
3
/db/node2archive
node2 会将存档日志写入此文件夹,然后从节点将从此文件夹中读取此存档日志。此文件夹将在 node0、node1 和 node2 之间共享。
远程访问
每个 Pgpool 节点都需要 SSH 访问权限,而无需为所有 PostgreSQL 节点提供密码。Pgpool 用户应受 PostgreSQL 节点信任。
此示例不涵盖配置此类信任关系。
数据库文件夹设置
默认情况下,Postgresql 10 将安装到 /var/lib/postgresql/10.x/main/var/lib/postgresql/10.x/data 中。但是,在此示例中,所有安装都将定向到 /db/,以此反映不在操作系统磁盘上保留数据文件的常见生产实践。