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(实现代码)
Apr 22 PostgreSQL
Centos环境下Postgresql 安装配置及环境变量配置技巧
May 18 PostgreSQL
postgres之jsonb属性的使用操作
Jun 23 PostgreSQL
PostgreSQL自动更新时间戳实例代码
Nov 27 PostgreSQL
PostgreSQL13基于流复制搭建后备服务器的方法
Jan 18 PostgreSQL
PostGIS的安装与入门使用指南
Jan 18 PostgreSQL
使用PostGIS完成两点间的河流轨迹及流经长度的计算(推荐)
Jan 18 PostgreSQL
PostgreSQL事务回卷实战案例详析
Mar 25 PostgreSQL
PostgreSQL逻辑复制解密原理解析
Sep 23 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脚本的10个技巧(4)
2006/10/09 PHP
浅析php中常量,变量的作用域和生存周期
2013/08/10 PHP
用JavaScript将从数据库中读取出来的日期型格式化为想要的类型。
2009/08/15 Javascript
JS getStyle获取最终样式函数代码
2010/04/01 Javascript
ExtJS4 Grid改变单元格背景颜色及Column render学习
2013/02/06 Javascript
使用jQuery解决IE与FireFox下createElement方法的差异
2013/11/14 Javascript
Javascript中各种trim的实现详细解析
2013/12/10 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
2014/01/14 Javascript
js实现点击添加一个input节点
2014/12/05 Javascript
jQuery实现仿新浪微博浮动的消息提示框(可智能定位)
2015/10/10 Javascript
JS跨域解决方案之使用CORS实现跨域
2016/04/14 Javascript
JavaScript页面实时显示当前时间实例代码
2016/10/23 Javascript
Form表单按回车自动提交表单的实现方法
2016/11/18 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
ajax图片上传,图片异步上传,更新实例
2016/12/30 Javascript
js实现增加数字显示的环形进度条效果
2017/02/05 Javascript
nodejs+websocket实时聊天系统改进版
2017/05/18 NodeJs
vue与TypeScript集成配置最简教程(推荐)
2017/10/17 Javascript
Nodejs异步流程框架async的方法
2019/06/07 NodeJs
node.JS的crypto加密模块使用方法详解(MD5,AES,Hmac,Diffie-Hellman加密)
2020/02/06 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
JS数组push、unshift、pop、shift方法的实现与使用方法示例
2020/04/29 Javascript
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
python自带tkinter库实现棋盘覆盖图形界面
2019/07/17 Python
python 实现人和电脑猜拳的示例代码
2020/03/02 Python
Python将二维列表list的数据输出(TXT,Excel)
2020/04/23 Python
阿迪达斯丹麦官网:adidas丹麦
2016/10/01 全球购物
科颜氏美国官网:Kiehl’s美国
2017/01/31 全球购物
意大利香水和彩妆护肤品购物网站:Ditano
2017/08/13 全球购物
Notino法国:购买香水和化妆品
2019/04/15 全球购物
护理专业本科生自荐信
2013/10/01 职场文书
通息工程毕业生自荐信
2013/10/16 职场文书
预备党员转正思想汇报
2014/01/12 职场文书
教师廉洁自律承诺书
2014/05/26 职场文书
2014年预备党员端正入党动机思想汇报
2014/09/13 职场文书
后勤工作个人总结
2015/02/28 职场文书