1. 首页 > 数据库 > 正文

如何离线安装PostgreSQL并实现主从复制

PostgreSQL作为一款功能强大的开源关系型数据库,其主从复制(Master-Slave Replication)方案被广泛采用。然而,在许多生产环境中,服务器往往处于封闭的内网状态,无法直接访问互联网。此时,离线安装PostgreSQL并手动配置主从同步,便成为了一项必备的运维技能。本文,AI部落将详细讲解如何在完全离线环境下完成PostgreSQL的安装与主从复制配置。

如何离线安装PostgreSQL并实现主从复制

第一步:环境准备与依赖包处理

离线安装的核心在于解决软件包的依赖关系。首先,你需要准备一台与目标服务器操作系统版本完全一致、且可以联网的“跳板机”。在跳板机上,使用yumapt的“仅下载”功能,将PostgreSQL及其所有依赖包下载完整。

例如,在CentOS系统中,可以使用:

如何离线安装PostgreSQL并实现主从复制

将下载好的目录打包,并上传至目标内网服务器的指定目录。随后,在目标服务器上通过 rpm -ivh * 或配置本地Yum源的方式完成安装。安装完成后,使用 postgresql-setup initdb 初始化数据库。

第二步:配置主数据库

假设我们有两台服务器:主库(Master)IP为192.168.1.10,从库(Slave)IP为192.168.1.11。

  1. 修改监听地址:编辑主库的 postgresql.conf 文件,将 listen_addresses 改为 '*',允许外部连接。

  2. 设置复制用户:连接数据库,创建一个专门用于复制的用户:

    如何离线安装PostgreSQL并实现主从复制
  3. 修改认证方式:编辑 pg_hba.conf,添加从库的访问权限:

    如何离线安装PostgreSQL并实现主从复制
  4. 设置复制参数:在 postgresql.conf 中配置以下关键参数:

    如何离线安装PostgreSQL并实现主从复制

配置完成后,重启主库服务。

第三步:配置从数据库

从库的配置相对复杂,需要基于主库的基础数据进行恢复。

  1. 停止从库服务:确保从库的PostgreSQL服务已停止。

  2. 备份原有数据:清空或重命名从库的数据目录(默认为 /var/lib/pgsql/data)。

  3. 物理备份:使用 pg_basebackup 工具从主库拉取基础数据。由于环境离线,该工具通常已随安装包部署:

    如何离线安装PostgreSQL并实现主从复制

    这里 -R 参数会自动生成 standby.signal 信号文件,并写入连接主库的 primary_conninfo 配置。

  4. 调整从库配置:在从库的 postgresql.conf 中,设置 hot_standby = on,以允许从库提供只读查询服务。

第四步:验证复制状态

启动从库服务。在主库上执行:

如何离线安装PostgreSQL并实现主从复制

如果看到从库的IP地址,且状态为 streaming,则代表主从复制已成功建立。

离线运维的思考

虽然手动离线搭建主从复制能够解决环境封闭的问题,但整个过程涉及依赖包下载、参数调优以及后续的监控脚本编写,操作链路较长且容易因人为疏漏导致同步延迟或中断。对于追求业务快速增长的企业而言,将精力消耗在底层的环境搭建上,往往会影响核心业务的迭代效率。

这正是云原生服务发挥价值的地方。像PetaCloud这样的平台,致力于提供稳定、高性价比的全球云服务能力,能够将复杂的数据库部署流程大幅简化。通过其控制台,用户无需关心底层的依赖环境与网络配置,即可在几分钟内一键部署高可用的PostgreSQL集群,自动完成主从复制、数据备份与故障切换。

总结而言,掌握离线安装与手动配置是深入理解PostgreSQL原理的重要途径;而在实际的生产环境中,合理利用成熟云服务商的托管能力,则是在保障稳定性的同时提升效率的更优选择。

AI部落温馨提示:以上是对如何离线安装PostgreSQL并实现主从复制的介绍,点击PetaCloud官网,了解PetaCloud虚拟机,释放云计算无线可能!

本文由网上采集发布,不代表我们立场,转载联系作者并注明出处:https://www.aijto.com/12382.html

联系我们

在线咨询:点击这里给我发消息

微信号:13180206953

工作日:9:30-18:30,节假日休息