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使用filter进行多维度聚合的解决方法
Jul 16 PostgreSQL
postgresql 删除重复数据案例详解
Aug 02 PostgreSQL
关于PostgreSQL JSONB的匹配和交集问题
Sep 14 PostgreSQL
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
Jan 18 PostgreSQL
PostgreSQL聚合函数介绍以及分组和排序
Apr 12 PostgreSQL
PostgreSQL怎么创建分区表详解
Jun 25 PostgreSQL
PostgreSQL逻辑复制解密原理解析
Sep 23 PostgreSQL
postgresql中如何执行sql文件
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
重置版宣传动画
2020/04/09 魔兽争霸
PHP4之COOKIE支持详解
2006/10/09 PHP
人大复印资料处理程序_输入篇
2006/10/09 PHP
phpmyadmin的#1251问题
2006/11/25 PHP
PHP 分页类(模仿google)-面试题目解答
2009/09/13 PHP
一个PHP的QRcode类与大家分享
2011/11/13 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
2013/06/03 PHP
js代码实现微博导航栏
2015/07/30 PHP
php获取ajax的headers方法与内容实例
2017/12/27 PHP
PHP字符串与数组处理函数用法小结
2020/01/07 PHP
js实现拉伸拖动iframe的具体代码
2013/08/03 Javascript
jQuery 1.9.1源码分析系列(十五)动画处理之缓动动画核心Tween
2015/12/03 Javascript
Jquery EasyUI Datagrid右键菜单实现方法
2016/12/30 Javascript
详解网站中图片日常使用以及优化手法
2017/01/09 Javascript
微信小程序 弹窗自定义实例代码
2017/03/08 Javascript
Angular 组件之间的交互的示例代码
2018/03/24 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
微信小程序缓存过期时间的使用详情
2019/05/12 Javascript
Django中多种重定向方法使用详解
2019/07/17 Python
django实现更改数据库某个字段以及字段段内数据
2020/03/31 Python
python 串行执行和并行执行实例
2020/04/30 Python
PyCharm MySQL可视化Database配置过程图解
2020/06/09 Python
Python流程控制语句的深入讲解
2020/06/15 Python
python 爬虫之selenium可视化爬虫的实现
2020/12/04 Python
英国Radley包德国官网:Radley London德国
2019/11/18 全球购物
亚洲领先的旅游体验市场:Voyagin
2019/11/23 全球购物
上课说话检讨书大全
2014/01/22 职场文书
材料工程专业毕业生求职信
2014/03/04 职场文书
《陈涉世家》教学反思
2014/04/12 职场文书
计算机求职信
2014/07/02 职场文书
介绍信的格式
2015/01/30 职场文书
建筑工程材料员岗位职责
2015/04/11 职场文书
雨中的树观后感
2015/06/03 职场文书
2015年物流客服工作总结
2015/07/27 职场文书
廉洁自律承诺书2016
2016/03/25 职场文书
一文搞懂Redis中String数据类型
2022/04/03 Redis