原文地址:Playing with PostgreSQL and Pgpool
原文作者;Tatsuo Ishii
在之前的博客(第1 部分和第2 部分)中,我已经解释了Pgpool -II 4.3 的以下新功能。
配置文件格式已更改,以便于配置。
更多信息被添加到实用程序命令中,以使管理员的生活更轻松。
即使看门狗集群失去足够数量的看门狗节点,也允许保持仲裁。
我将在此博客中解释其余功能。
允许选择 PostgreSQL 节点进行升级
在 4.3 之前,很难提升指定的备用 PostgreSQL 节点。当然我们有 pcp_promote_node 命令,但它实际上只是改变了 Pgpool-II 中的状态:它实际上并没有提升 PostgreSQL。现在 pcp_promote_node 有了新选项–switchover,它实际上提升了 PostgreSQL 备用节点。详细信息已经写在博客条目中。请访问博客条目以获取更多详细信息。
允许在负载均衡中选择复制延迟最小的节点
Pgpool-II 可以在 PostgreSQL 服务器之间分发读取查询。如果主 PostgreSQL 服务器和备用 PostgreSQL 服务器之间的复制延迟,Pgpool-II 可以通过使用delay_threshold参数避免向备用服务器发送读取查询。
新的参数prefer_lower_delay_standby做了更智能的读查询负载均衡。仅当您有两个或更多备用服务器时,此参数才有用。如果启用该参数并且负载均衡节点(即会话开始时进行负载均衡的节点)的 delay_threshold 大于 0,如果复制延迟超过 delay_threshold,Pgpool-II 将选择延迟最小的备用节点路由读取查询。这将带来更多机会将负载分配到备用服务器,同时最大限度地减少复制延迟。
照常赶上 PostgreSQL 14 的最新 SQL 解析器
每个 Pgpool-II 主要版本都会在此时导入最新的 PostgreSQL SQL 解析器。当 Pgpool-II 4.3 发布时,PostgreSQL 14 已经发布。所以 Pgpool-II 导入了 PostgreSQL 14 的 SQL 解析器。有了这个用户可以享受最新的 SQL 功能包括:
- 允许别名用于 JOIN … USING
- 允许将 DISTINCT 添加到 GROUP BY
- 公共表表达式的新 SEARCH 和 CYCLE 子句
其他新功能
- 允许使用以毫秒为单位的时间戳。
- 添加新的配置参数 failover_on_backend_shutdown。有关更多详细信息,请参阅过去的博客条目。
- 将表示恢复源主机名的新参数添加到 recovery_1st_stage_command 和 recovery_2nd_stage_command。为什么你需要这个在手册中解释:
“在使用hostname命令获取主(主)节点的主机名之前。这通常是可以的,因为脚本无论如何都在主(主)节点上运行。但是在某些系统中,通过hostname命令获取的主机名与主机名不同在 backend_hostname 配置参数中定义。这可能会导致 detach_false_primary 出现问题,因为它使用由recovery_1st_stage_command生成的primary_conninfo参数中的host参数来检查主节点和备用节点之间的连接性,因此强烈建议使用此参数而不是使用hostname命令获取recovery_1st_stage_command中主节点的主机名。"
结论
这是关注 Pgpool-II 4.3 的系列博文中的最后一篇博文。虽然 Pgpool-II 4.3 具有更多功能,但它比以前的版本更易于配置和使用。请尝试一下!




