Postgresql 14 主从配置

由于项目需要,需要在两台windows服务器上配置pgsql主从备份,记录一下流程及踩过的坑。

一. 环境配置

主机(192.168.0.200)

操作系统:Windows Server 2019

数据库版本:Postgresql 14.5

从机(192.168.0.201)

操作系统:Windows Server 2019

数据库版本:Postgresql 14.5

二. 主库配置

(数据库安装及初始化略过)使用 pgAdmin 或者 SQL shell(psql) 登录数据库

1. 创建备份用账户(replica)

CREATE ROLE replica login replication encrypted password 'replica';

2. 配置pg_hba.conf (位于 <安装目录>\PostgreSQL\14\data下)

在文件最后插入

host   replication  replica  192.168.0.201/32  scram-sha-256

3. 配置postgresql.conf (位于 <安装目录>\PostgreSQL\14\data下)

修改文件的配置参数(修改及移除注释)

listen_addresses = '*'
wal_level = replica
max_wal_senders = 32
wal_keep_size = 256
wal_sender_timeout = 60s

4. 重启主机Postgresql服务

三. 从机配置

(数据库安装及初始化略过,windows安装时会自动初始化,无妨)

1. 停止从机Postgresql服务,否则第二步会导致无法删除

2. 删除 <安装目录>\PostgreSQL\14下的data文件夹

3. 使用pg_basebackup (位于<安装目录>\PostgreSQL\14\bin下) 完整备份主机数据库

在Command Prompt中键入

cd <安装目录>\PostgreSQL\14\bin
pg_basebackup -D <安装目录>\PostgreSQL\14\data -h 192.168.0.200 -p 5432 -U replica -X stream -P

4. 配置postgresql.conf (位于 <安装目录>\PostgreSQL\14\data下)

#以下请移除注释或修改
max_connections = 1000 #必须大于主库的最大连接数
recovery_target_timeline = 'latest'
primary_conninfo = 'host=192.168.0.200 port=5432 user=replica password=replica'
hot_standby = on
max_standby_streaming_delay = 30s
wal_receiver_status_interval = 10s
hot_standby_feedback = on

#以下配置请移除或注释
wal_level = replica

5. 新建standby.signal (位于 <安装目录>\PostgreSQL\14\data下)

在文件中添加

standby_mode = on

6. 启动从机Postgresql服务

四. 坑

从机服务无法启动(data文件夹的权限问题)

在文件夹 属性-安全 中将SYSTEM、Administrators和Users都赋予完全控制权限即可丝滑启动

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
PostgreSQL是一种开源的关系型数据库管理系统,可以用于构建高可用的主从架构。在搭建主从架构之前,需要先安装和配置主服务器和从服务器。 首先,安装PostgreSQL 14以及所需的依赖项。可以通过包管理工具如apt-get(适用于Ubuntu)或yum(适用于CentOS)来安装。然后,编辑主服务器(通常为生产环境)的postgresql.conf文件和从服务器(通常为备份环境)的postgresql.conf文件。 在主服务器上,配置以下参数以支持主从复制: 1. 将wal_level设置为logical或replica,这取决于目标数据库的用途。 2. 配置max_wal_senders为从服务器的最大连接数。 3. 设置max_replication_slots为从服务器的最大并发复制数。 4. 启用archive_mode并设置archive_command以将WAL(Write-Ahead Log)日志归档到指定的位置,以便从服务器能够访问归档文件。 在从服务器上,配置以下参数: 1. 将primary_conninfo设置为主服务器的连接信息,包括主服务器的主机名、端口、用户名和密码。 2. 设置standby_mode为on以启用从服务器的备份模式。 3. 配置primary_slot_name为从服务器的复制槽名称。 完成配置后,启动主服务器和从服务器,并确保主服务器和从服务器能够相互访问。由于主服务器会在WAL日志中记录所有更改,从服务器可以通过复制这些日志来保持数据的一致性。 在主服务器上创建复制用户并授予复制权限,以便从服务器可以连接并复制数据。然后,在从服务器上创建复制槽,并启动复制进程。 一旦主从复制建立起来,从服务器将会持续地从主服务器接收和应用WAL日志,以保持与主服务器的数据同步。在主服务器发生故障时,可以通过切换从服务器为新的主服务器来维持服务的连续性。 总结来说,PostgreSQL 14主从搭建需要通过配置主服务器和从服务器的参数,并确保数据的复制和同步。通过确保主从服务器之间的连接和相应的权限配置,可以实现高可用性和数据备份。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值