bgw_replstatus

用于汇报本机主从状态的后台工作进程

概览

扩展包名版本分类许可证语言
bgw_replstatus1.0.8STATPostgreSQLC
ID扩展名BinLibLoadCreateTrustReloc模式
6510bgw_replstatus-
相关扩展pgautofailover pglogical pg_failover_slots pgpool_recovery pgsentinel pglogical_origin repmgr pg_jobmon

版本

类型仓库版本PG 大版本包名依赖
EXTPGDG1.0.81817161514bgw_replstatus-
RPMPGDG1.0.81817161514bgw_replstatus_$v-
DEBPGDG1.0.81817161514postgresql-$v-bgw-replstatus-
OS / PGPG18PG17PG16PG15PG14
el8.x86_64
el8.aarch64
el9.x86_64
el9.aarch64
el10.x86_64
el10.aarch64
d12.x86_64
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
d12.aarch64
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
d13.x86_64
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
d13.aarch64
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
u22.x86_64
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
u22.aarch64
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
u24.x86_64
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
u24.aarch64
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8
PGDG 1.0.8

安装

您可以直接安装 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: 用于负载均衡器的轻量级复制状态检查器

bgw_replstatus 是一个后台工作进程,它监听 TCP 端口并立即报告节点是 MASTER 还是 STANDBY。专为负载均衡器健康检查设计,无需建立完整的 PostgreSQL 连接。

工作原理

任何到配置端口的 TCP 连接都会立即收到文本响应(MASTERSTANDBY),然后连接关闭。无需发送请求。

快速测试

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.port5400监听的 TCP 端口
bgw_replstatus.bind(通配符)绑定的 IP 地址

安全提示:没有源地址验证。请使用主机防火墙保护该端口。


最后修改 2026-03-14: update extension metadata (953cbd0)