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 相关文章推荐
Centos环境下Postgresql 安装配置及环境变量配置技巧
May 18 PostgreSQL
postgres之jsonb属性的使用操作
Jun 23 PostgreSQL
postgresql使用filter进行多维度聚合的解决方法
Jul 16 PostgreSQL
基于PostgreSQL/openGauss 的分布式数据库解决方案
Dec 06 PostgreSQL
PostGIS的安装与入门使用指南
Jan 18 PostgreSQL
Rust 连接 PostgreSQL 数据库的详细过程
Jan 22 PostgreSQL
PostgreSQL数据库去除重复数据和运算符的基本查询操作
Apr 12 PostgreSQL
postgreSQL数据库基础知识介绍
Apr 12 PostgreSQL
PostgreSQL基于pgrouting的路径规划处理方法
Apr 18 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
php 获取客户端的真实ip
2009/11/30 PHP
php实现12306余票查询、价格查询示例
2014/04/17 PHP
PHP异常Parse error: syntax error, unexpected T_VAR错误解决方法
2014/05/06 PHP
jQuery+PHP实现的掷色子抽奖游戏实例
2015/01/04 PHP
php读取csv文件并输出的方法
2015/03/14 PHP
php使用wordwrap格式化文本段落的方法
2015/03/17 PHP
php查看一个变量的占用内存的实例代码
2020/03/29 PHP
window.open不被拦截的实现代码
2012/08/22 Javascript
window.navigate 与 window.location.href 的使用区别介绍
2013/09/21 Javascript
JavaScript定义类的几种方式总结
2014/01/06 Javascript
JavaScript实现文字与图片拖拽效果的方法
2015/02/16 Javascript
JS实现当前页居中分页效果的方法
2015/06/18 Javascript
JavaScript中几种排序算法的简单实现
2015/07/29 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
2015/12/04 Javascript
vue兄弟组件传递数据的实例
2018/09/06 Javascript
angularJs使用ng-repeat遍历后选中某一个的方法
2018/09/30 Javascript
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
javascript设计模式 ? 抽象工厂模式原理与应用实例分析
2020/04/09 Javascript
python使用beautifulsoup从爱奇艺网抓取视频播放
2014/01/23 Python
Python序列化基础知识(json/pickle)
2017/10/19 Python
python脚本当作Linux中的服务启动实现方法
2019/06/28 Python
解决python有时候import不了当前的包问题
2019/08/28 Python
Tensorflow训练MNIST手写数字识别模型
2020/02/13 Python
python小白学习包管理器pip安装
2020/06/09 Python
python3 os进行嵌套操作的实例讲解
2020/11/19 Python
CSS3实现红包抖动效果
2020/12/23 HTML / CSS
英国时尚服饰电商:Boohoo
2017/10/12 全球购物
Spotahome意大利:公寓和房间出租
2020/02/21 全球购物
数字天堂软件测试面试题
2012/12/23 面试题
中药专业自荐信范文
2014/03/18 职场文书
学习心理学的体会
2014/11/07 职场文书
2015秋季幼儿园开学寄语
2015/03/25 职场文书
2015年机关作风和效能建设工作总结
2015/07/23 职场文书
团支部书记竞选稿
2015/11/21 职场文书
2019西餐厅创业计划书范文!
2019/07/12 职场文书
浅谈Redis主从复制以及主从复制原理
2021/05/29 Redis