PostgreSQL主从搭建的实现步骤

 更新时间:2025年07月17日 09:48:53   作者:迷失在互联网的小白  
本文主要介绍了一主一从PostgreSQL架构,配置流复制账户及主从参数文件,执行基础备份,检查复制槽和节点状态以确认搭建成功,下面就来具体介绍一下,感兴趣的可以了解一下

准备工作

我部署的服务器是一主一从

1、准备两台服务器系统都是是Debain

主机地址系统环境数据库主从
192.168.137.129Deabin 11.4PostgreSQL 14.5主库
192.168.137.137Deabin 11.4PostgreSQL 14.5从库

主服务器

1、安装postgresql
2、修改postgres密码
3、创建流复制账户
4、配置postgres.conf与pg_hba.conf
5、重启PG数据库

一、安装postgresql

官网链接:https://www.postgresql.org/download/linux/debian/

1、 创建文件存储库配置:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

2、 导入存储库签名密钥:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

3、 更新包列表:
sudo apt-get update

4 安装最新版本的 PostgreSQL。
sudo apt-get -y install postgresql

二、修改postgres密码

root@localhost:~# su - postgres (进入postgres用户)
postgres@localhost: psql(进入数据库)|这里只是一种方式,还有其他方式进入数据库|
postgres=# /password(开始输入密码)

如图所示:

三、创建流复制账户

root@localhost:~# su - postgres 
postgres@localhost: psql
postgres=# create user replica login replication encryoted password 'replica';(创建replica用户,encryoted:加密的方式登陆)
CREATE ROLE
postgres=# \du (查看用户,)

如图所示:

如果显示与图片相等,就证明创建成功了

四、配置postgres.conf与pg_hba.conf

postgres.conf的配置

我的配置文件安装是默认的在:
/etc/postgresql/14/main

root@localhost: vim /etc/postgresql/14/main/postgres.conf

进入以下页面: 

# listen_address ='localhost' 
修改成 listen_address='*' 
# wal_level= replica
修改成
wal_level = replica
# max_wal_senders = 10 
修改成
max_wal_senders = 10 # 这里默认可以不用修改
# synchronous_commit = on 
修改成
synchronous_commit = on 

pg_hba.conf的配置

我的配置文件安装是默认的在:
/etc/postgresql/14/main

root@localhost: vim /etc/postgresql/14/main/pg_hba.conf

进入以下页面:

 修改配置如上图一样

五、重启PG数据库

systemctl restart postgresql

从服务器

1、安装postgresql
2、复制数据库目录
3、删除目录
4、基础备份

从服务器中的数据库配置不需要进行改动,要不然可能出现搭建的主从失败

一、安装

官网链接:https://www.postgresql.org/download/linux/debian/

1、 创建文件存储库配置:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'

2、 导入存储库签名密钥:
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

3、 更新包列表:
sudo apt-get update

4 安装最新版本的 PostgreSQL。
sudo apt-get -y install postgresql

二、复制数据库目录

root@localhost:~# systemctl stop postgresql (停库)
root@localhost:~# su - postgres 
postgres@localhost:~$ cd 14
postgres@root:~/14$ cp -R main /var/lib/postgresql/main.bak (为了防止出现失误可以先备份)

三、删除数据库目录

进入数据库目录的main文件夹使用rm -rf * 删除main文件夹里的所有文件
postgres@root:~/14/main$ rm -rf * (这里只是其中的一种用法)

四、基础备份

一定要进入到postgres用户里面如:
postgres@localhost:~$ pg_backbaseup -h 192.168.137.129 -D /var/lib/postgresql/14/main -U replica -P -v -R -X stream -C -S pgstandby (开始基础备份)
输入密码:replica
-h –指定作为主服务器的主机。
-D –指定数据目录。
-U –指定连接用户。
-P –启用进度报告。
-v –启用详细模式。
-R–启用恢复配置的创建:创建一个standby.signal文件,并将连接设置附加到数据目录下的postgresql.auto.conf。
-X–用于在备份中包括所需的预写日志文件(WAL文件)。流的值表示在创建备份时流式传输WAL。
-C –在开始备份之前,允许创建由-S选项命名的复制插槽。
-S –指定复制插槽名称。

进入数据库目录里查看有没有生成standby.signal。

启动从服务器

systemctl start postgres

搭建成功

查看复制槽

查看主服务器节点信息

查看从节点信息

查看主服务器传输

注意看有IP地址的哪一行,如果有就证明成功了;

到此这篇关于PostgreSQL主从搭建的实现步骤的文章就介绍到这了,更多相关PostgreSQL主从搭建内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

相关文章

  • PostgreSQL+Pgpool实现HA主备切换的操作

    PostgreSQL+Pgpool实现HA主备切换的操作

    这篇文章主要介绍了PostgreSQL+Pgpool实现HA主备切换操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-12-12
  • PostgreSQL高可用集群部署与配置指南

    PostgreSQL高可用集群部署与配置指南

    本文主要介绍了PostgreSQL高可用集群部署与配置指南,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2026-02-02
  • 从原理到实战详解PostgreSQL如何进行性能优化

    从原理到实战详解PostgreSQL如何进行性能优化

    PostgreSQL作为成熟的开源关系型数据库,以其丰富的特性和高扩展性受到广泛青睐,但如果不对其内部原理与配置参数进行深入理解并合理调优,往往难以发挥其最佳性能,本文我们就来看看PostgreSQL性能优化的相关技巧吧
    2025-07-07
  • Postgresql创建新增、删除与修改触发器的方法

    Postgresql创建新增、删除与修改触发器的方法

    这篇文章主要介绍了Postgresql创建新增、删除与修改触发器的方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • postgresql 索引之 hash的使用详解

    postgresql 索引之 hash的使用详解

    这篇文章主要介绍了postgresql 索引之 hash的使用详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • Postgresql之时间戳long,TimeStamp,Date,String互转方式

    Postgresql之时间戳long,TimeStamp,Date,String互转方式

    这篇文章主要介绍了Postgresql中的时间戳long,TimeStamp,Date,String互转方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • 使用PostgreSQL数据库建立用户画像系统的方法

    使用PostgreSQL数据库建立用户画像系统的方法

    这篇文章主要介绍了使用PostgreSQL数据库建立用户画像系统,下面使用一个具体的例子来说明如何使用PostgreSQL的json数据类型来建立用户标签数据,需要的朋友可以参考下
    2022-10-10
  • PostgreSQL处理时间段、时长转为秒、分、小时代码示例

    PostgreSQL处理时间段、时长转为秒、分、小时代码示例

    最近在操作数据库时,遇到频繁的时间操作,每次弄完了就忘了,今天痛定思痛,下定决心对postgres的时间操作进行一下总结,这篇文章主要给大家介绍了关于PostgreSQL处理时间段、时长转为秒、分、小时的相关资料,需要的朋友可以参考下
    2023-10-10
  • PostgreSQL 默认隔离级别的设置

    PostgreSQL 默认隔离级别的设置

    PostgreSQL的默认事务隔离级别是读已提交,这是其事务处理系统的基础行为模式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-06-06
  • 浅谈Postgresql默认端口5432你所不知道的一点

    浅谈Postgresql默认端口5432你所不知道的一点

    这篇文章主要介绍了浅谈Postgresql默认端口5432你所不知道的一点,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01

最新评论