PgSQL · 特性分析 · 神奇的pg_rewind

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: 背景在常见的PostgreSQL双节点高可用构架中,如果主库挂了且主备无延迟,高可用系统会提升老备库为新主库对外服务。而对于老主库,则可以有很多处理策略,例如:删掉,重搭新备库。 降级为备库,继续服务。

背景

在常见的PostgreSQL双节点高可用构架中,如果主库挂了且主备无延迟,高可用系统会提升老备库为新主库对外服务。而对于老主库,则可以有很多处理策略,例如:

  1. 删掉,重搭新备库。
  2. 降级为备库,继续服务。

很显然,相比来说第一种不是个很好的方案。当数据量比较大时,重搭备库的时间成本太高,系统的可用性降低。但是因为老的主库挂掉的原因多种多样,甚至有可能是高可用系统的误判,而老主库也有可能是在挂掉之后又重新作为主库启动起来,这个时候降级并重搭流复制关系的操作就有可能失败(新的备库比新主库数据更超前)。

为了解决这种情况,PostgreSQL 引入了pg_rewind工具。

功能介绍

PostgreSQL 官方文档的介绍中,pg_rewind 不光可以针对上面说的failover 的场景,理论上,

目录
相关文章
|
前端开发 JavaScript
CSS实现禁用状态,样式设置以及不可点击事件的行为
CSS实现禁用状态,样式设置以及不可点击事件的行为
3948 0
|
监控 数据库
在Seata中一张表使用了联合主键,在事务回滚时报异常,改为单个主键,就没有这个异常,如何解决?
在Seata中一张表使用了联合主键,在事务回滚时报异常,改为单个主键,就没有这个异常,如何解决?
|
开发框架 前端开发 应用服务中间件
部署基于.netcore5.0的ABP框架后台Api服务端,以及使用Nginx部署Vue+Element前端应用
部署基于.netcore5.0的ABP框架后台Api服务端,以及使用Nginx部署Vue+Element前端应用
|
人工智能 安全 搜索推荐
【专栏】虚拟现实(VR)如何重塑教育与培训的未来
【4月更文挑战第27天】本文探讨了虚拟现实(VR)如何重塑教育与培训的未来,分为三个部分:VR在教育的应用现状、提升学习体验和培训效果的方式,以及面临的挑战与展望。目前,VR已逐渐融入课堂,提供沉浸式学习体验,如历史和医学培训。通过沉浸感、交互性、安全模拟训练和个性化学习,VR提升了学习效果。然而,高成本、内容不足及真实性的验证仍是挑战。随着技术进步,VR将在教育领域发挥更大作用,与5G、AI结合,创造更高效的学习体验。
636 1
|
Windows
一招解决教希沃白板登录麻烦的困扰!
如果你们教室里面也是用的希沃白板,相信用上几次,你就会爱上这个教学神器。
7424 0
|
机器学习/深度学习 数据可视化 PyTorch
使用Python实现深度学习模型:迁移学习与预训练模型
使用Python实现深度学习模型:迁移学习与预训练模型
586 0
|
缓存 运维 数据库
软件体系结构 - 性能指标
【4月更文挑战第16天】软件体系结构 - 性能指标
465 0
|
C++
C++ 默认参数与引用传递:语法、用法及示例
C++ 允许函数参数具有默认值,简化调用。例如,`void myFunction(string country = "Norway")` 中`country`默认为"Norway"。默认参数仅适用于函数参数,不包括返回值。引用传递是另一种传递方式,函数直接访问变量内存,允许修改原值,提高效率。`void swapNums(int &x, int &y)` 中`x`和`y`为引用参数。了解这些特性可提升代码可读性和性能。
408 0
|
关系型数据库 PostgreSQL 索引
PostgreSQL的表膨胀及对策
PostgreSQL的表膨胀及对策 PostgreSQL的MVCC机制在数据更新时会产生dead元组,这些dead元组通过后台的autovacuum进程清理。
4821 0
|
SQL 存储 Oracle
Oracle之3种表连接方式(排序合并连接、嵌套循环、哈希连接)
Oracle之3种表连接方式(排序合并连接、嵌套循环、哈希连接) 排序合并连接 1.2.4.2.1  排序合并连接 排序合并连接(Sort Merge Join)是一种两个表在做表连接时用排序操作(Sort)和合并操作(Merge)来得到连接结果集的表连接方法。
3764 0