postgresql集群方案hot standby初级测试(一)——模拟集群状况

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介:

1.   重启主节点:

 

方式①:./pg_ctl stop -D ../data/

waiting  for server to shut  down............................................................... failed

pg_ctl:  server does not shut down

HINT:  The "-m fast" option immediately disconnects sessions rather than

waiting for session-initiated  disconnection.

虽然显示关闭失败,但是连接数据库操作已经不可用,并且显示错误!!!

方式②./pg_ctl stop -D ../data/ -m fast

直接关闭数据库,连接数据库时,显示没有服务。

重启主节点后,对集群功能没有影响

方式③:kill -9 8581 8582 8584 8585 8586 8587  8589 8597 8669

向其中一台从节点插入一条数据;

(这里理论上是可读,但是为了方便展示还是插入一条)

insert  failed:ERROR:  cannot execute INSERT in  a read-only transaction

启动主节点,插入一条数据,并验证集群功能:

集群功能完好

2.   关闭从节点

 

关闭方式①:./pg_ctl stop -D ../data_bac/ -m fast

插入主节点一条数据,再打开从节点,查看数据是否同步。

数据同步成功。

关闭方式②:kill -9 19971 19972 19973 19974 19975 19976

插入二条数据后;正常启动子节点,查看数据是否同步:

可以看到自己点意外死亡情况,重启后会同步数据。

3. 在插入过程中杀死主节点

 

关闭方式①:./pg_ctl stop -D ../data_bac/ -m fast

用单线程方式,插入100000数据,并在中途按方式①,关闭主节点;重启后查看主库和从库数据是否一致:

1.     当断开后,查看两个从库的数据量都为5719

2.     重启主数据库,查看数据量:

发现数据没有丢失,为了验证正确性,我们验证10个线程每个线程100000并发时,没有丢数据情况发生

关闭方式②:kill -9 19971 19972 19973 19974 19975 19976

查看从库数据量:

启动主库,查看主库数据量:

可以发现主库和从库数据量不等,有人可能会说丢数据,先别下太早的结论,我们再来看下从库数据量是否有变化:

我们可以认为,当主节点意外死亡时,主库wal日志还没有发送到从库主机,使得主从库数据不同步,但是重启主库后,主库会把没有传递的wal日志重发,再次同步数据。

上面是我模拟的一些集群会遇到的情况,目前只能想到这么多,如果有建议可以留言。



本文转自h2内存数据库博客园博客,原文链接:http://www.cnblogs.com/h2-database/archive/2012/07/09/2583252.html,如需转载请自行联系原作者

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
6月前
|
存储 NoSQL 关系型数据库
PostgreSQL列存扩展hydra简单测试
Hydra是一款PostgreSQL的扩展,为PostgreSQL增加了列存引擎,使得PostgreSQL的olap性能大幅提升,本文介绍Hydra基本的使用方法。
740 0
|
6月前
|
负载均衡 监控 关系型数据库
百度搜索:蓝易云【PostgreSQL 主从复制方案】
请注意,上述仅为一种主从复制方案的概述,实际实施时可能需要根据特定环境和需求进行调整。建议参考PostgreSQL官方文档和其他可靠资源获取更详细的指南和说明。
89 1
|
1月前
|
存储 Kubernetes 分布式数据库
利用Helm在K8S上部署 PolarDB-X 集群(详细步骤--亲测!!!)
利用Helm在K8S上部署 PolarDB-X 集群(详细步骤--亲测!!!)
100 0
|
1月前
|
SQL 关系型数据库 OLAP
PostgreSQL从小白到高手教程 - 第46讲:poc-tpch测试
PostgreSQL从小白到高手教程 - 第46讲:poc-tpch测试
83 3
|
2月前
|
关系型数据库 OLAP OLTP
PostgreSQL从小白到高手教程 - 第45讲:poc-tpcc测试
CUUG PostgreSQL技术大讲堂系列公开课第45讲-POC-TPCC测试的内容,往期视频及文档,请联系CUUG。
45 1
|
3月前
|
安全 关系型数据库 分布式数据库
在PolarDB中能否申请集群的公网地址?
在PolarDB中能否申请集群的公网地址?
40 2
|
3月前
|
弹性计算 关系型数据库 MySQL
设置PolarDB MySQL版集群IP白名单教程
设置PolarDB MySQL版集群IP白名单教程 内容: 在创建PolarDB MySQL版数据库集群后,为了保证集群的安全性,您需要设置集群的IP白名单。只有添加到白名单中的IP地址或安全组中的ECS实例才能访问该集群。本文将详细介绍如何设置IP白名单。
119 2
|
3月前
|
存储 关系型数据库 分布式数据库
在PolarDB中,集群地址对应一个代理服务器,主地址也是对应一个代理服务器吗?
在PolarDB中,集群地址对应一个代理服务器,主地址也是对应一个代理服务器吗?
34 0
|
4月前
|
SQL 关系型数据库 PostgreSQL
PostgreSQL【部署 01】离线安装PostgreSQL+PostGIS踩坑及问题解决经验分享(含安装文件PostgreSQL+PostGIS及多个依赖+测试SQL)
PostgreSQL【部署 01】离线安装PostgreSQL+PostGIS踩坑及问题解决经验分享(含安装文件PostgreSQL+PostGIS及多个依赖+测试SQL)
125 0
|
4月前
|
关系型数据库 数据库 PostgreSQL
postgresql|数据库|恢复备份的时候报错:pg_restore: implied data-only restore的处理方案
postgresql|数据库|恢复备份的时候报错:pg_restore: implied data-only restore的处理方案
63 0