千家信息网

怎么搭建postgresql-pg简易异步流复制

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要讲解了"怎么搭建postgresql-pg简易异步流复制",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么搭建postgresql-pg简
千家信息网最后更新 2025年02月02日怎么搭建postgresql-pg简易异步流复制

这篇文章主要讲解了"怎么搭建postgresql-pg简易异步流复制",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"怎么搭建postgresql-pg简易异步流复制"吧!

流复制是PostgreSQL 9.0之后才提供的新的传递WAL日志的方法。通过流复制,备库不断的从主库同步相应的数据,并在备库apply每个WAL record,这里的流复制每次传输单位是WAL日志的record。就如 oracle的dataguard技术一样,pg的流复制也是按照同步模式的不同,分为同步流复制和异步流复制。同步流复制虽然能在主库坏掉时确保数据的一致,但是当网络或者备库有问题的时候,会导致主库事务hang住。异步流复制则没有这样的缺点,不会影响生产库的性能,但是在主库坏掉的时候,可能会丢掉一小部分数据。

pg的流复制安装非常的简单,如下配置完成后,就可以做到,如下版本是pg11在rhel7的配置,注意,需要提前在两边服务器上建好同一个版本的pg服务:

01主库操作

1.1创建复制用户作为主从同步使用

postgres=# create role repl login replication encrypted password '123456';

CREATE ROLE

1.2修改pg_hba.conf文件

主库

host allall192.168.0.0/24md5

host replication repl192.168.0.52/24md5

第一行#允许XX这个从服务器连接到主服务器

第二行#允许使用replica用户来复制,第二个字段必须要填repl (上一步添加的用户)

#psql

psql> select pg_reload_conf();#生效

1.3修改postgresql.conf

listen_addresses='*'#这个一般安装服务器之后都会进行配置,检查下

wal_level=replica #默认replica,不动

wal_keep_segments=256#设置流复制保留的最多的xlog数目

#重启pg服务生效。

#只有listen_address改变需要重启,否则select pg_reload_conf()即可。

pg_ctl stop -D $PGDATA

pg_ctl start -D $PGDATA

1.4在从库测试连接是否成功

psql -h 192.168.0.51-p 5432-U postgres

02备库操作

2.1停止pg服务,清空data目录

[postgres@apple-standby ~]$ echo $PGDATA

/data/pg11.5/data

[postgres@apple-standby data]$ rm -rf /data/pg11.5/data

2.2从主节点拷贝数据到从节点

$ pg_basebackup -h 192.168.0.51-U repl -D /data/pg11.5/data -X stream -P

could not identify current directory: No such file or directory

Password:

45238/45238 kB (100%),1/1 tablespace

2.3配置recovery.conf

cd $PGHOME(软件安装目录)

cp share/recovery.conf.sample $PGDATA/recovery.conf

vi recovery.conf

standby_mode = on

primary_conninfo='host=192.168.0.51 port=5432 user=repl password=123456'

recovery_target_timeline='latest'

###

primary_conninfo 主服务器的信息以及连接的用户

standby_mode = on #说明该节点是从服务器

recovery_target_timeline #指定恢复到特定时间轴。默认设置是沿着执行基本备份时的当前时间线恢复。将此设置为 latest 将恢复到存档中找到的最新时间轴

2.4启动服务

pg_ctl start -D $PGDATA

在主库上查询,如下,可以看到,sync_state,async就表示异步流复制。

postgres=# select pid,usename,application_name,client_addr,state,sync_state from pg_stat_replication;

如上,就简单的搭好了一个流复制数据库!

感谢各位的阅读,以上就是"怎么搭建postgresql-pg简易异步流复制"的内容了,经过本文的学习后,相信大家对怎么搭建postgresql-pg简易异步流复制这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

服务 服务器 数据 同步 简易 用户 配置 时间 节点 学习 内容 日志 时候 版本 目录 问题 不同 一致 一行 不断 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖北网络安全审计硬件设备 南京协企网络技术有限公司 什么专业和软件开发相近 大话手游新服务器 网络安全证书怎么写 拉结尔最好的服务器 哈尔滨双城软件开发 软件开发职业修炼第三层 未来软件开发方向 江西超频服务器联系方式 服务器有用amd芯片的吗 20万以下软件开发招标 阿里rds数据库创建出错 udp的服务器与客户端 余姚手机应用软件开发 网络安全物联网科创板的股票 网络安全销售应聘简历 软件开发笔记本电脑配置显卡 端游绝地求生显示服务器繁忙 青岛有线电视服务器连接失败 河南省委网络安全和预算 怎么搭建硬件服务器 数据库程序与设计教材书 为什么去吧皮卡丘显示服务器断开 淮安推广网络技术推荐咨询 网络安全工程师怎么赚钱 学校网络安全手抄报模板 危害网络安全的活动包括 苹果8p 无法验证服务器身份 租用阿里云服务器有缺点
0