bgw_replstatus
用于汇报本机主从状态的后台工作进程
概览
| 扩展包名 | 版本 | 分类 | 许可证 | 语言 |
|---|---|---|---|---|
bgw_replstatus | 1.0.8 | STAT | PostgreSQL | C |
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 6510 | bgw_replstatus | 否 | 是 | 是 | 否 | 否 | 否 | - |
| 相关扩展 | pgautofailover pglogical pg_failover_slots pgpool_recovery pgsentinel pglogical_origin repmgr pg_jobmon |
|---|
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PGDG | 1.0.8 | 1817161514 | bgw_replstatus | - |
| RPM | PGDG | 1.0.8 | 1817161514 | bgw_replstatus_$v | - |
| DEB | PGDG | 1.0.8 | 1817161514 | postgresql-$v-bgw-replstatus | - |
安装
您可以直接安装 bgw_replstatus 扩展包的预置二进制包,首先确保 PGDG 仓库已经添加并启用:
pig repo add pgdg -u # 添加 PGDG 仓库并更新缓存
使用 pig 或者是 apt/yum/dnf 安装扩展:
pig install bgw_replstatus; # 当前活跃 PG 版本安装
pig ext install -y bgw_replstatus -v 18 # PG 18
pig ext install -y bgw_replstatus -v 17 # PG 17
pig ext install -y bgw_replstatus -v 16 # PG 16
pig ext install -y bgw_replstatus -v 15 # PG 15
pig ext install -y bgw_replstatus -v 14 # PG 14
dnf install -y bgw_replstatus_18 # PG 18
dnf install -y bgw_replstatus_17 # PG 17
dnf install -y bgw_replstatus_16 # PG 16
dnf install -y bgw_replstatus_15 # PG 15
dnf install -y bgw_replstatus_14 # PG 14
apt install -y postgresql-18-bgw-replstatus # PG 18
apt install -y postgresql-17-bgw-replstatus # PG 17
apt install -y postgresql-16-bgw-replstatus # PG 16
apt install -y postgresql-15-bgw-replstatus # PG 15
apt install -y postgresql-14-bgw-replstatus # PG 14
预加载配置:
shared_preload_libraries = 'bgw_replstatus';
用法
bgw_replstatus 是一个后台工作进程,它监听 TCP 端口并立即报告节点是 MASTER 还是 STANDBY。专为负载均衡器健康检查设计,无需建立完整的 PostgreSQL 连接。
工作原理
任何到配置端口的 TCP 连接都会立即收到文本响应(MASTER 或 STANDBY),然后连接关闭。无需发送请求。
快速测试
nc localhost 5400
# 输出:MASTER(或 STANDBY)
HAProxy 配置示例
frontend test
bind 127.0.0.1:5999
default_backend pgcluster
backend pgcluster
mode tcp
option tcp-check
tcp-check expect string MASTER
server s1 127.0.0.1:5500 check port 5400
server s2 127.0.0.1:5501 check port 5401 backup
server s3 127.0.0.1:5502 check port 5402 backup
配置
| 参数 | 默认值 | 描述 |
|---|---|---|
bgw_replstatus.port | 5400 | 监听的 TCP 端口 |
bgw_replstatus.bind | (通配符) | 绑定的 IP 地址 |
安全提示:没有源地址验证。请使用主机防火墙保护该端口。