温馨提示×

centos怎么容postgresql灾

小樊
36
2026-10-12 05:27:23
栏目: 云计算

你提到的“容灾”应该是指 PostgreSQL 在 CentOS 上的容灾方案。下面从常见架构到具体做法给你一个实用总结。


一、PostgreSQL 常见容灾架构

1️⃣ 主从流复制(最常用)

适合:机房级容灾、节点故障切换

  • 1 个主库(Primary)
  • 1~N 个从库(Standby)
  • 使用 Streaming Replication

✅ 优点

  • 配置简单
  • 延迟低(秒级)
  • CentOS 原生支持

❌ 缺点

  • 主库宕机需手动或工具切换

2️⃣ 异步 / 同步复制

# postgresql.conf
synchronous_commit = on   # 同步
  • 异步:性能高,可能丢少量数据
  • 同步:不丢数据,性能略低

3️⃣ 使用 Patroni + etcd(企业级)

适合:自动故障转移

组件:

  • PostgreSQL
  • Patroni
  • etcd / consul
  • HAProxy(可选)

✅ 自动选主
✅ 自动恢复
✅ 生产级方案


4️⃣ 逻辑复制(跨版本、跨机房)

CREATE PUBLICATION pub FOR ALL TABLES;
CREATE SUBSCRIPTION sub CONNECTION '...' PUBLICATION pub;

适合:

  • 跨版本
  • 部分表同步

5️⃣ 备份容灾(兜底)

  • pg_basebackup
  • pg_dump
  • WAL 归档
pg_basebackup -h master -D /var/lib/pgsql/standby -R

二、CentOS 上最简主从容灾示例

主库(Primary)

# postgresql.conf
wal_level = replica
max_wal_senders = 5
CREATE ROLE repl REPLICATION LOGIN PASSWORD 'pwd';

从库(Standby)

pg_basebackup -h 主库IP -D /var/lib/pgsql/data -U repl -R
systemctl start postgresql

✅ 自动成为只读从库


三、容灾级别建议

场景 推荐方案
单机房 主从 + 备份
跨机房 异步流复制
高可用 Patroni + etcd
云环境 云厂商托管 PG

四、CentOS 注意事项

  • CentOS 7 用 systemd
  • PostgreSQL 建议用官方 RPM
  • 防火墙开放 5432
firewall-cmd --add-port=5432/tcp --permanent

如果你愿意,可以告诉我:

  • CentOS 版本
  • PostgreSQL 版本
  • 是否跨机房 / 云上

我可以给你一套可直接用的配置。

0 踩