主备切换原因
实例的 Master 和 Slave 节点角色互换,称之为主备切换。切换后实例地址保持不变,应用自动连接到新的 Master 节点,从而保证了实例高可用性。主备切换的原因主要为以下几点:
故障切换
人工切换
应用运维人员或者被授权的腾讯云技术专家手动发起的主备切换。人工切换包含正常主备延迟的切换和超过主备延迟的强制切换。
强制切换
当实例的主备复制方式为异步复制或者半同步降级为异步复制时,Master 发生故障无法恢复时会触发主备切换。因数据并非实时同步到 Slave,有较小概率会引起数据不一致。当前系统默认设置了允许切换条件,您也可以基于业务需要进行特殊设置。因此只有满足切换条件才允许切换。为满足紧急情况下的切换,系统提供了强制切换能力。
注意:
为了防止随时间推移而切换条件发生变化,当执行强制切换时,需要立即执行切换。
主备切换影响
主备切换过程中会有闪断,请确保应用程序有重连机制。
如果主实例挂载的有只读实例,主备切换后只读实例会有分钟级延迟。
手动切换实例
1. 登录 PostgreSQL 控制台,在实例列表,单击实例 ID 或操作列的管理,进入实例详情页面。
2. 在实例详情的可用性信息部分单击主备切换。
查看切换记录
1. 登录 PostgreSQL 控制台,在实例列表,单击实例 ID 或操作列的管理,进入实例详情页面。
2. 在实例详情的可用性信息部分,单击切换记录。系统将保留1年内的切换记录。
主备延迟监控指标
腾讯云数据库 PostgreSQL 提供详细的监控信息来帮助您查看主备节点同步延迟。具体为如下几个监控指标:
指标中文名 | 指标中文描述 |
备库日志落盘延迟(Bytes) | 备库落盘 LSN 与主实例当前 LSN 之间的大小差异,对于主实例而言,此指标可以体现出故障切换的数据丢失大小。 |
备库日志落盘时间延迟(秒) | 日志从主库发送至备库与备库接收到日志并落盘之间的时间差异,对于主实例而言,此指标可以体现出故障切换的数据丢失大小。实例版本在10.x以上版本才有此指标。 |
主备数据同步延迟(Bytes) | 备库回放 LSN 与主实例当前 LSN 之间的大小差异,对于主实例而言,此指标可以体现出故障切换的 RTO,对于只读实例而言,此指标可以体现出数据延迟大小。 |
主备数据同步延迟时间(秒) | 日志从主库发送至备库与备库接收到日志并回放之间的时间差异。实例版本在10.x以上版本才有此指标。 |
备库日志发送与回放位置差异(Bytes) | 日志从主库发送至备库与备库回放完成之间的大小差异,主要反映了备库日志应用的速度,主要能够通过此指标查看出备库的性能、网络传输的速度。只读实例无此指标。 |