PostgreSQL 10主从复制配置

本篇使用流复制模式配置主从复制
Master: 172.30.9.118 / PostgreSQL 10
Slave: 172.30.9.147 / PostgreSQL 10

主库配置

  1. 编辑postgresql配置文件postgresql.conf
listen_address = '*'
wal_level = replica
max_wal_senders = 10 # 并发的从库数量
wal_keep_segments = 64 # 默认是0,代表主库wal日志文件保存的个数,设置数量多一点可以防止主库生成日志太快而被覆盖的情况发生
  1. 创建用于主从同步的同步账户
create user replica superuser password '123456'; 
  1. 编辑与配置文件同目录下面的pg_hba.conf
# 在配置文件中追加从库访问限制,允许从库发起流复制
host    replication    replica    172.30.9.147/32    trust

从库配置

  1. 从主库同步目前的所有数据
pg_basebackup -h 172.30.9.118 -U replica -F p -X stream -P -R -D /var/lib
/postgresql/10/main/ -l backup20181122
#-h指定连接的数据库的主机名或IP地址
#-U指定连接的用户名
#-F指定了输出的格式,支持p(原样输出)或者t(tar格式输出)
#-X表示备份开始后,启动另一个流复制连接从主库接收WAL日志
#-P表示允许在备份过程中实时的打印备份的进度
#-R表示会在备份结束后自动生成recovery.conf文件
#-D指定备份写入的数据目录,需要与数据库配置的数据库目录一致,初次备份之前从库的数据目录需要手动清空
#-l表示指定一个备份的标识

同步成功后若无法启动数据库,请检查之前清空的数据目录的所有者身份或读写权限,所有者postgres,权限0700

  1. 修改从库配置文件postgresql.conf
hot_standby = on

检查主从复制是否有效

修改配置后需分别重启主从数据库,重启成功后使用命令查看进程情况

ps -ef | grep postgres
# 分别查看主从数据库是否有包含wal sender/receiver process

最后在主库中进行数据操作,查看对应的从库是否有数据变化

从库为只读模式,无法进行 增 / 删 / 改 操作

转载于:https://my.oschina.net/robin3d/blog/2907024

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostgreSQL 中的主从流复制和归档是实现高可用性和数据备份的两种常见方式。以下是如何配置 PostgreSQL 主从流复制和归档的简要说明: 1. 主从流复制配置: 首先在主服务器上进行如下配置: - 修改 `postgresql.conf` 文件,启用 WAL 日志记录和流复制,并指定要复制的 WAL 日志级别: ``` wal_level = replica max_wal_senders = 5 wal_keep_segments = 32 ``` - 修改 `pg_hba.conf` 文件,允许从服务器连接主服务器: ``` host replication replica 192.168.1.0/24 md5 ``` 然后在从服务器上进行如下配置: - 创建从服务器上用于复制主服务器上数据库的用户: ``` CREATE USER replica WITH REPLICATION LOGIN PASSWORD 'password'; ``` - 在 `recovery.conf` 文件中指定从服务器要连接的主服务器信息和要恢复的时间点: ``` standby_mode = on primary_conninfo = 'host=192.168.1.100 port=5432 user=replica password=password' recovery_target_timeline = 'latest' ``` 2. 归档配置: - 修改 `postgresql.conf` 文件,启用归档并指定归档目录: ``` archive_mode = on archive_command = 'cp %p /mnt/archive/%f' ``` 其中 `%p` 表示要归档的 WAL 日志路径,`%f` 表示要归档的文件名。 - 确认归档目录已经创建,并由 PostgreSQL 用户可以写入。 - 在从服务器上进行如下配置: ``` restore_command = 'cp /mnt/archive/%f %p' ``` 其中 `%p` 表示要恢复的 WAL 日志路径,`%f` 表示要恢复的文件名。 以上是 PostgreSQL 主从流复制和归档的简要配置说明。需要注意的是,具体的配置可能会因为环境和需求的不同而有所不同,建议在实际应用中根据需要进行相应的调整。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值