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无序uuid性能测试及对数据库的影响
Jun 11 PostgreSQL
postgresql 删除重复数据案例详解
Aug 02 PostgreSQL
PostGIS的安装与入门使用指南
Jan 18 PostgreSQL
PostgreSQL 插入INSERT、删除DELETE、更新UPDATE、事务transaction
Apr 12 PostgreSQL
postgreSQL数据库基础知识介绍
Apr 12 PostgreSQL
PostgreSQL基于pgrouting的路径规划处理方法
Apr 18 PostgreSQL
PostgreSQL出现死锁该如何解决
May 30 PostgreSQL
PostgreSQL常用字符串分割函数整理汇总
Jul 07 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 获取远程网页内容的代码(fopen,curl已测)
2011/06/06 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
点击进行复制的JS代码实例
2013/08/23 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
2015/06/05 Javascript
基于Jquery实现焦点图淡出淡入效果
2015/11/30 Javascript
无需 Flash 使用 jQuery 复制文字到剪贴板
2016/04/26 Javascript
jQuery 限制输入字符串长度
2016/06/20 Javascript
jQuery插件dataTables添加序号列的方法
2016/07/06 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
jQuery Password Validation密码验证
2016/12/30 Javascript
bootstrap datetimepicker日期插件使用方法
2017/01/13 Javascript
JavaScript之promise_动力节点Java学院整理
2017/07/03 Javascript
用vue写一个仿简书的轮播图的示例代码
2018/03/13 Javascript
element-ui 中的table的列隐藏问题解决
2018/08/24 Javascript
原生JavaScript写出Tabs标签页的实例代码
2020/07/20 Javascript
Python中字符串的修改及传参详解
2016/11/30 Python
Python机器学习之K-Means聚类实现详解
2018/02/22 Python
PyCharm代码回滚,恢复历史版本的解决方法
2018/10/22 Python
10 分钟快速入门 Python3的教程
2019/01/29 Python
python列表,字典,元组简单用法示例
2019/07/11 Python
Python测试模块doctest使用解析
2019/08/10 Python
python list数据等间隔抽取并新建list存储的例子
2019/11/27 Python
如何基于Python制作有道翻译小工具
2019/12/16 Python
Django实现从数据库中获取到的数据转换为dict
2020/03/27 Python
解决django FileFIELD的编码问题
2020/03/30 Python
python 通过文件夹导入包的操作
2020/06/01 Python
Python读取xlsx数据生成图标代码实例
2020/08/12 Python
Python try except finally资源回收的实现
2021/01/25 Python
澳大利亚在线性感内衣商店:Fantasy Lingerie
2021/02/07 全球购物
销售自荐信
2013/10/22 职场文书
社区矫正工作方案
2014/06/04 职场文书
医院反腐倡廉演讲稿
2014/09/16 职场文书
大四优秀党员个人民主评议
2014/09/19 职场文书
2014年大学班级工作总结
2014/11/14 职场文书
2014年餐厅服务员工作总结
2014/11/18 职场文书
2015年学校心理健康教育工作总结
2015/05/11 职场文书