举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > PostgreSQL 故障转移

PostgreSQL 故障转移

2023-06-08 12:18

 PostgreSQL 故障转移

如果主服务器失效,则后备服务器应该开始故障转移过程。

如果后备服务器失效,则不会有故障转移发生。如果后备服务器可以被重启(即使晚一点),由于可重启恢复的优势,那么恢复处理也能被立即重启。如果后备服务器不能被重启,则一个全新的后备服务器实例应该被创建。

如果主服务器失效并且后备服务器成为了新的主服务器,那么接下来旧的主服务器重启后,你必须有一种机制来通知旧的主服务器不再成为主服务器。有些时候这被称为STONITH(Shoot The Other Node In The Head,关闭其他节点),这对于避免出现两个系统都认为它们是主服务器的情况非常必要,那种情况将导致混乱并且最终导致数据丢失。

很多故障转移系统仅使用两个系统,主系统和后备系统,它们由某种心跳机制连接来持续验证两者之间的连接性和主系统的可用性。也可能会使用第三个系统(称为目击者服务器)来防止某些不当故障转移的情况,但是除非非常小心地建立它并且经过了严格地测试,额外的复杂度可能会使该工作得不偿失。

PostgreSQL并不提供在主服务器上标识失败并且通知后备数据库服务器所需的系统软件。现在已有很多这样的工具并且很好地与成功的故障转移所需的操作系统功能整合在一起,例如 IP 地址迁移。

一旦发生到后备服务器的故障转移,就只有单一的一台服务器在操作。这被称为一种退化状态。之前的后备服务器现在是主服务器,但之前的主服务器处于关闭并且可能一直保持关闭。要回到正常的操作,一个后备服务器必须被重建,要么在之前的主系统起来时使用它重建,要么使用第三台(可能是全新的)服务器来重建。在大型集簇上,pg_rewind功能可以被用来加速这个过程。一旦完成,主服务器和后备服务器可以被认为是互换了角色。某些人选择使用第三台服务器来为新的主服务器提供备份,直到新的后备服务器被重建,不过显然这会使得系统配置和操作处理更复杂。

因此,从主服务器切换到后备服务器可以很快,但是要求一些时间来重新准备故障转移集群。从主服务器到后备服务器的常规切换是有用的,因为它允许每个系统有常规的关闭时间来进行维护。这也可以作为一种对故障转移机制的测试,以保证在你需要它时它真地能够工作。我们推荐写一些管理过程来做这些事情。

要触发一台日志传送后备服务器的故障转移,运行pg_ctl promote,调用 pg_promote(),或者创建一个触发器文件,其文件名和路径由promote_trigger_file设置指定。 如果你正在规划使用pg_ctl promote或调用pg_promote()以进行故障转移, promote_trigger_file就不是必要的。 如果你正在建立只用于从主服务器分流只读查询而不是高可用性目的的报告服务器,你不需要提升它。


阅读全文
以上是编程学为你收集整理的 PostgreSQL 故障转移全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  •  PostgreSQL 类型转换

    PostgreSQL 类型转换

    2023-05-21

    目录10.1. 概述10.2. 操作符10.3. 函数10.4. 值存储10.5. UNION、CASE和相关结构10.6. SELECT的输出列SQL语句可能(有意无意...

  •  PostgreSQL 冲突

    PostgreSQL 冲突

    2023-04-06 PostgreSQL 冲突

    逻辑复制的行为类似于正常的DML操作,即便数据在订阅者节点本地被修改,逻辑复制也会根据收到的更改来更新数据。如果流入的数据...

  •  PostgreSQL 运行 SQL 命令

    PostgreSQL 运行 SQL 命令

    2023-03-31

    35.3.1. 执行 SQL 语句35.3.2. 使用游标35.3.3. 管理事务35.3.4. 预备语句任何 SQL 命令都可以在一个嵌入式 SQL 应用中被运行。...

  •  PostgreSQL 库函数

    PostgreSQL 库函数

    2023-03-28 PostgreSQL 库函数

    libecpg库主要包含用于实现嵌入式 SQL 命令所表达功能的“隐藏”函数。但是也有一些可以被直接调用的函数。但是注意这会让你的代...

  •  HTML DOM Checkbox defaultChecked 属性

    HTML DOM Checkbox defaultChecked 属性

    2023-06-01

    Checkbox defaultChecked 属性 Checkbox 对象定义和用法defaultChecked 属性可返回 checked 属性的默认值。该属性在 checkbox 默...

© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部