Postgresql配置主从复制

以1主1从为例

准备两个数据库(一台虚拟机上运行一个实例)

以 136(主机)140(从机)为例

以/opt/postgres/data 为持久化路径为例

①主机配置:
  1.  白名单配置(vim /opt/postgres/data/pg_hba.conf

local   all             all                                     trust

# IPv4 local connections:

host    all             all             127.0.0.1/32            trust

# IPv6 local connections:

#host    all             all             ::1/128                 trust

host    all             all                0.0.0.0/0           md5

host   replication      repl       192.168.42.132/32      trust

  1.  修改核心配置文件(vim /opt/postgres/data/postgresql.conf 

  1.  重启(启动)数据库

listen_addresses = '*'                                      #监听所有ip

wal_level = hot_standby

max_wal_senders= 6

wal_keep_segments = 10240

max_connections = 512

登录 su postgres

psql

create role repl login replication encrypted password '123';

②从机(140)配置

注意切换postgres用户进行,

a)删除原数据库data文件

rm -rf /opt/postgres/data/*

b)备份文件

 pg_basebackup -h 192.168.42.131 -U repl -D /opt/postgres/data -X stream -P

c)编辑recovery.conf编辑主从配置

cp /opt/postgres/share/recovery.conf.sample /opt/postgres/data/recovery.conf

vim /opt/postgres/data/recovery.conf

standby_mode = on       #该节点为从机

primary_conninfo = 'host=192.168.42.131 port=5432 user=repl password=123'

recovery_target_timeline = 'latest'

trigger_file = '/tmp/trigger_file0'

d)开启standby模式(在从机上配置)

hot_standby = on

vim /opt/postgres/data/postgresql.conf 

重启数据库

systemctl stop postgresql

systemctl start postgresql

③查看从节点信息

主节点psql控制台

select client_addr,sync_state from pg_stat_replication;

  • 13
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 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、付费专栏及课程。

余额充值