PostgreSQL高可用之Pgpool-II的Health Check参数详解(健康检测)
列举了PostgreSQL集群高可用方案pgpool-II关于健康检测的相关配置项
pgpool-II
Pgpool-II是位于PostgreSQL服务器和 PostgreSQL数据库客户端之间的代理软件,
架构图如下:
健康检测常用参数
health_check_period = 5 # Health check period # Disabled (0) by default health_check_timeout = 30 # Health check timeout # 0 means no timeout health_check_user = 'pgpool' health_check_password = '' health_check_max_retries = 3
health_check_retry_delay = 5
health_check_period (integer)
指定运行状况检查之间的间隔(以秒为单位)。默认值为0,表示健康检查已禁用。
health_check_timeout (integer)
指定超时(以秒为单位),如果TCP连接在此时间内未成功,则放弃连接到后端 PostgreSQL。
此参数用于防止在拔下网络电缆时长时间等待健康检查。默认值为20。将其设置为0,将禁用超时(等待直到TCP / IP超时)。
health_check_user (string)
指定执行运行状况检查的PostgreSQL用户名。同一用户必须存在于所有PostgreSQL后端中。否则,运行状况检查将导致错误。
health_check_password (string)
指定在health_check_user中配置以执行运行状况检查的PostgreSQL用户名 的密码。在所有PostgreSQL后端中,用户名和密码必须相同。否则,运行状况检查将导致错误。
如果health_check_password留空Pgpool-II 将首先尝试获取密码health_check_user从 pool_passwd使用空密码之前的文件。
health_check_database (string)
指定要执行运行状况检查的PostgreSQL数据库名称。缺省值为”(空),它将首先尝试“ postgres” 数据库,然后尝试“ template1”数据库,直到成功。
health_check_max_retries (integer)
指定在运行状况检查失败时放弃并启动故障转移之前要进行的最大重试次数,默认值为0,表示不重试。
health_check_retry_delay (integer)
指定两次失败的健康检查重试之间的睡眠时间(以秒为单位)(除非health_check_max_retries > 0,否则不使用)。如果为0,则立即重试而不会延迟。
connect_timeout (integer)
指定放弃使用connect()系统调用连接到后端之前的时间(以毫秒为单位)。默认值为10000毫秒(10秒)。不稳定的网络用户可能希望增加该值,0表示没有超时。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了