讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux怎么安装PostgreSQL 16主从同步 PostgreSQL高可用配置详解

轻瑶吖_1356

轻瑶吖_1356

发布时间:2026-04-28 11:16:12

|

916人浏览过

|

来源于php中文网

原创

pg_basebackup是主从同步最稳起点,必须配合-R参数自动生成standby.signal和postgresql.auto.conf,并设置listen_addresses='*'、wal_level=replica、max_wal_senders≥从库数、wal_keep_size足够等主库关键配置,缺一不可。

linux怎么安装postgresql 16主从同步 postgresql高可用配置详解

pg_basebackup 是主从同步最稳的起点,别手写复制 data 目录或 rsync —— 那不是同步,是埋雷。

主库必须开的几个关键配置项

主库的 postgresql.conf 不只是“能连上”就行,流复制依赖 WAL 的实时推送能力。以下参数缺一不可:

  • listen_addresses = '*':不光是为远程连接,从库的 walreceiver 进程要通过 TCP 主动拉取 WAL,必须监听非 localhost 地址
  • wal_level = replica:低于这个值(如 replica 以下的 archive)无法启用流复制;logical 可选但非必需
  • max_wal_senders = 10:必须 ≥ 从库数量;设为 0 就等于关掉复制通道
  • wal_keep_size = 1GB(或 wal_keep_segments 在旧版中):防止从库短暂断连后 WAL 被主库回收,导致“could not receive data from WAL stream: ERROR: requested WAL segment has already been removed”
  • archive_mode = on + archive_command:非强制,但建议配上,为 pg_basebackup 提供基础归档兜底,也方便后续做 PITR

从库初始化必须用 pg_basebackup,不能删 data 后 rsync

手动拷贝 data 目录看似快,实则跳过一致性快照、WAL 位点校验和 recovery 状态标记,极大概率启动失败或数据错乱。正确流程是:

Linux installer
Linux installer

先解析安全源,运行本地CLI安装、启动、卸载Linux桌面应用。用户请求时使用。

下载
  • 在从库机器上,用普通用户(如 postgres)执行:
    pg_basebackup -h 192.168.1.10 -U replicator -D /var/lib/pgsql/16/data -P -v -R -X stream -C -S pgslave1
  • -R:自动生成 standby.signal 和更新 postgresql.auto.conf(PG 12+ 不再用 recovery.conf)
  • -X stream:边备份边接收 WAL 流,保证起点一致;不用此参数,备份完成后再追 WAL 容易丢位点
  • -C:自动在主库创建复制槽(replication slot),防止 WAL 被提前清理 —— 这比 wal_keep_size 更可靠
  • 执行前确保主库已创建复制用户:
    CREATE USER replicator WITH REPLICATION ENCRYPTED PASSWORD 'repl2026';

pg_hba.conf 的两处权限必须分开配

主库的 pg_hba.conf 要同时放行两类连接,顺序和类型不能混:

  • 普通客户端访问(如应用连接主库写入):
    host all all 0.0.0.0/0 scram-sha-256
  • 从库复制连接(只允许指定 IP + 复制用户):
    host replication replicator 192.168.1.11/32 scram-sha-256
  • 注意:replication 数据库名是关键字,不能写成 all 或具体 DB 名;认证方式推荐 scram-sha-256,避免明文传输密码
  • 改完后必须 reload:
    pg_ctl reload -D /var/lib/pgsql/16/data(不要 restart,否则中断复制)

验证主从状态别只看进程,要看系统视图

启动从库后,ps aux | grep walreceiver 有进程 ≠ 复制正常。真正要看的是:

  • 主库查发送状态:
    SELECT client_addr, state, sent_lsn, write_lsn, flush_lsn, replay_lsn FROM pg_stat_replication;
    理想状态是 state = 'streaming',且 replay_lsn 与 sent_lsn 差距小(毫秒级)
  • 从库查接收状态:
    SELECT * FROM pg_stat_wal_receiver;
    重点看 status = 'streaming' 和 last_msg_receipt_time 是否持续更新
  • 常见卡点:
    • 时间不同步 → WAL 时间戳校验失败
    • SELinux 或防火墙拦了 5432(或自定义端口)→ connection refused
    • 从库 pg_hba.conf 没配或配错 → 主库日志报 no pg_hba.conf entry

从库 standby.signal 文件一旦生成就别删,重启时它就是“我是备库”的唯一凭证;而主库上对应的复制槽(slot)也不能手动删,除非你确定不再需要这台从库 —— 删了会导致 WAL 积压爆磁盘。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

二狗PPT
二狗PPT Hot

一款AI演示文稿工具,主要用于专为中式职场打造的AI PPT生成工具,适合需要提升相关任务效率的用户。

Seko
Seko Hot

一款AI视频创作工具,主要用于商汤科技推出的创编一体的AI短视频创作Agent,适合需要提升相关任务效率的用户。

LibLibAI
LibLibAI Hot

一款AI视频创作工具,主要用于国内领先的AI创意平台,以海量模型、低门槛操作与“创作-分享-商业化”生态,让小白与专业创作者都能高效实现图文乃至视频创意表达,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
postgresql常用命令
postgresql常用命令

postgresql常用命令psql、createdb、dropdb、createuser、dropuser、l、c、dt、d table_name、du、i file_name、e和q等。本专题为大家提供postgresql相关的文章、下载、课程内容,供大家免费下载体验。

213

2023.10.10

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

4369

2023.11.02

postgresql常用命令有哪些
postgresql常用命令有哪些

postgresql常用命令psql、createdb、dropdb、createuser、dropuser、l、c、dt、d table_name、du、i file_name、e和q等。更详细的postgresql常用命令,大家可以访问下面的文章。

627

2023.11.16

postgresql常用命令介绍
postgresql常用命令介绍

postgresql常用命令有l、d、d5、di、ds、dv、df、dn、db、dg、dp、c、pset、show search_path、ALTER TABLE、INSERT INTO、UPDATE、DELETE FROM、SELECT等。想了解更多postgresql的相关内容,可以阅读本专题下面的文章。

1376

2023.11.20

PostgreSQL性能优化与索引调优实战
PostgreSQL性能优化与索引调优实战

本专题面向后端开发与数据库工程师,深入讲解 PostgreSQL 查询优化原理与索引机制。内容包括执行计划分析、常见索引类型对比、慢查询优化策略、事务隔离级别以及高并发场景下的性能调优技巧。通过实战案例解析,帮助开发者提升数据库响应速度与系统稳定性。

460

2026.02.12

PostgreSQL 性能优化与查询执行计划实战
PostgreSQL 性能优化与查询执行计划实战

本专题深入解析PostgreSQL性能优化核心,聚焦查询执行计划的实战应用。通过EXPLAIN命令精准定位瓶颈,结合索引策略、SQL改写与参数调优,系统提升查询效率。从执行计划解读到性能调优全流程,助你掌握数据库性能诊断与优化实战能力。

150

2026.05.08

PostgreSQL 在 Next.js / Go 全栈架构中的工程化实践
PostgreSQL 在 Next.js / Go 全栈架构中的工程化实践

本文详解如何利用Next.js(搭配Drizzle ORM)与Go后端构建高性能应用,充分发挥PG在JSONB非结构化存储与pgvector向量检索上的优势。从数据建模到Docker容器化部署,打造支持AI时代的“One Database”工程化解决方案。

881

2026.05.08

PostgreSQL高级特性、内核机制与现代数据架构
PostgreSQL高级特性、内核机制与现代数据架构

本专题从MVCC并发控制与WAL日志等内核机制出发,详解JSONB、PostGIS及pgvector等高级特性。探讨如何利用单一引擎支撑关系型、向量及图数据等现代数据架构需求,助您掌握构建高并发、智能化应用的核心技术。

224

2026.05.08

C++虚函数怎么定义和调用
C++虚函数怎么定义和调用

C++虚函数是实现运行时多态的重要机制。本专题从virtual关键字的基本用法入手,介绍基类与派生类之间的函数重写、基类指针调用派生类方法,以及动态绑定的执行过程,帮助初学者掌握虚函数的核心语法。

0

2026.10.10

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn