postgresql10.5流复制standby搭建记录

曾经带入数据库这个行业的老师说,做我们这行就是需要不断地去尝试,做各种实验,然后总结经验,最近生产环境要上pg了,就想到搭个PG的异步复制玩一玩,看跟mysql有什么不同

本文主要记录下搭建hot standby环境的过程.

1、先介绍下环境

操作系统:centos6.5
postgresql数据库版本:pg-10.5

首先至少两台机器,上面分别已经装好了我们的PG数据库,然后进入我们的搭建。

我的机器环境:

主库:192.168.11.129,数据目录/data/pgdata/test/5432/pg_root

从库:192.168.11.131,数据目录/data/pgdata/test/5432/pg_root

2、建立主库(数据库的编译这里就不赘述了)

(1)先在主库建立一个复制用户:

create role repl login replication encrypted password '123456';

 (2)然后修改我们的数据库认证配置文件(pg_hba.conf):

host    replication    repl    192.168.11.131/32   md5

(3)修改数据库配置文件:

listen_addresses = '*'
wal_level = hot_standby
max_wal_senders = 30

(4)重启主库服务

pg_ctl -D $PGDATA restart

(5)然后来到从库这边,先做基础备份

pg_basebackup -h 192.168.11.129 -p 5432 -U repl  -F p -P -R -D $PGDATA

注:

-h,主库主机,-p,主库服务端口;
-U,复制用户;
-F,p是默认输出格式,输出数据目录和表空间相同的布局,t表示tar格式输出;
-P,同--progress,显示进度;
-D,输出到指定目录;

-R,将自动生成recovery.conf

(6)之后修改从库配置文件,

hot_standby = on                           #在备份的同时允许查询

(7)把从库拉起来,

pg_ctl -D $PGDATA start

3、验证主从配置

(1)查看主库sender进程

(2)查看从库receiver进程

 

 (3)sql查询主从信息

在主库上测试下,建一张表test:

然后我们在从库查询下看

可以发现只能查询,并不能插入数据。

命令查看主从信息

主库:

从库:

 

到此我们的主从就搭建完成了.

posted @   清歌牧言  阅读(211)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示