PostgreSQL13基于流复制搭建后备服务器的方法


Posted in PostgreSQL onJanuary 18, 2022

pg的高可用、负载均衡和复制特性矩阵如下

PostgreSQL13基于流复制搭建后备服务器的方法

后备服务器作为主服务器的数据备份,可以保障数据不丢,而且在主服务器发生故障后可以提升为主服务器继续提供服务。

实际操作

1、参数配置

首先配置主机的postgresql.conf

vim /usr/local/pgsql/data/postgresql.conf

listen_addresses = '*'
wal_level = hot_standby
max_wal_senders = 10
max_replication_slots = 10
hot_standby = on # 主要用来备库配置,主库配置无影响
wal_keep_size = 1GB  #pg13后配置,之前是wal_keep_segments
wal_log_hints = on  #pg_rewind必须参数
full_page_writes = on

然后配置主机的pg_hba.conf

vim /usr/local/pgsql/data/pg_hba.conf
host    replication     all      0.0.0.0/0     trust #新增

2、使用pg_basebackup创建备机数据库

pg_basebackup -D ../data1 -U postgres  -Fp -X stream -R  -P -v -p54321 -h 127.0.0.1

解释一下常用参数

pg_basebackup被用于获得一个正在运行的PostgreSQL数据库集簇的基础备份。

-D directory

将输出写到哪个目录。如果必要,pg_basebackup将创建该目录及任何父目录。

-Fp

把输出写成平面文件,使用和当前数据目录和表空间相同的布局。

-Xstream

在备份被创建时通过流复制传送预写式日志。这将开启一个到服务器的第二连接并且在运行备份时并行开始流传输预写式日志。

-R

--write-recovery-conf

在输出目录中(或者当使用 tar 格式时在基础归档文件中)建立 standby.signal 并附加连接设置到postgresql.auto.conf 来简化设置一个后备服务器。postgresql.auto.conf文件将记录连接设置(如果有)以及pg_basebackup所使用的复制槽,这样流复制后面就会使用相同的设置。

-P

--progress

启用进度报告。

-v

--verbose

启用冗长模式,可以理解为输出备份过程数据。

3、启动备机数据库服务器

echo "port=54322" >> /usr/local/pgsql/data1/postgresql.conf
pg_ctl -D /usr/local/pgsql/data1 start

4、检查

登录主机查看流复制关系

psql -Upostgres -dpostgres -p54321
select * from pg_stat_replication;

主机插入数据

./psql -Upostgres -dpostgres -p54321
create table t1 (id int ,name varchar);
insert into t1 values (1,'cli');

备机查询数据,数据同步成功

psql -Upostgres -dpostgres -p54322
select * from t1;

PostgreSQL13基于流复制搭建后备服务器的方法

至此,一个简单的后备服务器就搭建好了。

但行好事,莫问前程

到此这篇关于PostgreSQL13基于流复制搭建后备服务器的文章就介绍到这了,更多相关PostgreSQL13搭建后备服务器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PostgreSQL 相关文章推荐
PostgreSQL将数据加载到buffer cache中操作方法
Apr 16 PostgreSQL
如何使用PostgreSQL进行中文全文检索
May 27 PostgreSQL
PostgreSQL解析URL的方法
Aug 02 PostgreSQL
postgresql 删除重复数据案例详解
Aug 02 PostgreSQL
PostGIS的安装与入门使用指南
Jan 18 PostgreSQL
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
Jan 18 PostgreSQL
PostgreSQL事务回卷实战案例详析
Mar 25 PostgreSQL
PostgreSQL基于pgrouting的路径规划处理方法
Apr 18 PostgreSQL
PostgreSQL出现死锁该如何解决
May 30 PostgreSQL
PostgreSQL之连接失败的问题及解决
May 08 PostgreSQL
postgresql之greenplum字符串去重拼接方式
May 08 PostgreSQL
基于PostgreSQL/openGauss 的分布式数据库解决方案
PostgreSQL自动更新时间戳实例代码
Nov 27 #PostgreSQL
关于PostgreSQL JSONB的匹配和交集问题
Sep 14 #PostgreSQL
postgresql 删除重复数据案例详解
Aug 02 #PostgreSQL
PostgreSQL解析URL的方法
Aug 02 #PostgreSQL
postgresql使用filter进行多维度聚合的解决方法
Jul 16 #PostgreSQL
浅谈PostgreSQL表分区的三种方式
You might like
eWebEditor v3.8 商业完整版 (PHP)
2006/12/06 PHP
PHP迅雷、快车、旋风下载专用链转换代码
2010/06/15 PHP
浅析PHP程序设计中的MVC编程思想
2014/07/28 PHP
php防止用户重复提交表单
2015/11/02 PHP
Javascript - HTML的request类
2006/07/15 Javascript
JavaScript(JS) 压缩 / 混淆 / 格式化 批处理工具
2010/12/10 Javascript
使用apply方法处理数组的三个技巧[译]
2012/09/20 Javascript
javascript 实现简单的table排序及table操作练习
2012/12/28 Javascript
让低版本浏览器支持input的placeholder属性(js方法)
2013/04/03 Javascript
javaScript对文字按照拼音排序实现代码
2013/12/27 Javascript
javascript中加号(+)操作符的一些神奇作用
2014/06/06 Javascript
node.js中的fs.writeSync方法使用说明
2014/12/15 Javascript
JS组件Bootstrap Table使用实例分享
2016/05/30 Javascript
JS两种类型的表单提交方法实例分析
2016/11/28 Javascript
jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
2017/03/09 Javascript
jQuery 禁止表单用户名、密码自动填充功能
2017/10/30 jQuery
完美解决axios跨域请求出错的问题
2018/02/05 Javascript
原生JS进行前后端同构
2018/04/22 Javascript
解决jquery有正确返回值但不执行success函数的问题
2018/08/20 jQuery
JS尾递归的实现方法及代码优化技巧
2019/01/19 Javascript
python处理圆角图片、圆形图片的例子
2014/04/25 Python
调试Python程序代码的几种方法总结
2015/04/28 Python
python如何去除字符串中不想要的字符
2020/07/05 Python
pandas 对series和dataframe进行排序的实例
2018/06/09 Python
Python异常处理知识点总结
2019/02/18 Python
Python配置文件处理的方法教程
2019/08/29 Python
python+flask编写一个简单的登录接口
2020/11/13 Python
kmart凯马特官网:美国最大的打折零售商和全球最大的批发商之一
2016/11/17 全球购物
华为的Java面试题
2014/03/07 面试题
中软国际Java程序员机试题
2012/08/19 面试题
如何填写个人简历自我评价
2013/12/10 职场文书
公司清洁工岗位职责
2013/12/14 职场文书
家居饰品店创业计划书
2014/01/31 职场文书
党的群众路线教育实践活动心得体会(乡镇)
2014/11/03 职场文书
《有余数的除法》教学反思
2016/02/22 职场文书
Python趣味挑战之教你用pygame画进度条
2021/05/31 Python