暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

[译] 使用PostgreSQL和Pgpool

原创 刺史武都 2022-06-08
485

原文地址: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 具有更多功能,但它比以前的版本更易于配置和使用。请尝试一下!

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论