# 复制与HA切换：单主、事务连续与冗余恢复

工作单元：W-C28；版本：2026-10-21.workunits.2；复核：2026-10-20
交付可验证的复制/故障切换机制及切换后业务连续状态，确保单主、事务边界、连接端点和备机冗余重新成立。

## 当前用法
可委派复制/切换配置和受控演练；按单主、事务/客户端与冗余重建阶段接收，高影响切换有明确权限。
依据：PostgreSQL18要求旧主隔离和新备机重建，原生DB不提供完整故障检测。DBA-Bench持续场景实际出现主事务恢复而副本未恢复，说明不能只验主库。
来源状态：active
本站记录：本次核查公开资料与任务契约，未在本站运行目标任务或新增模型试次。

条件：
- 提供隔离HA环境、检测/通知/fencing工具、网络分区/主故障/旧主回归控制和授权操作；不假定原生DB包揽自动检测。
- 记录切换前已确认事务/复制位点，准备客户端重连/重试、双主写拒绝、备机重建及第二故障验收。

## 请求与范围
固定DB版本、主/备/见证/客户端端点、同步语义、复制延迟与允许丢事务、RPO/RTO及读写一致性。
工作对象是复制拓扑及故障后的持续服务，不是schema/数据迁移。提升备机不等于完整恢复；旧主隔离和重建冗余都在接收范围。

## 输入
- 拓扑与事务契约：固定DB版本、主/备/见证/客户端端点、同步语义、复制延迟与允许丢事务、RPO/RTO及读写一致性。
- 故障与权限：提供隔离HA环境、检测/通知/fencing工具、网络分区/主故障/旧主回归控制和授权操作；不假定原生DB包揽自动检测。
- 业务和重建探针：记录切换前已确认事务/复制位点，准备客户端重连/重试、双主写拒绝、备机重建及第二故障验收。

## 交付物
- 复制/检测/隔离/切换与连接端点配置、运行说明
- 故障/分区/旧主重入下单主和事务/客户端连续性证据、实际恢复时间
- 备机重新建立、复制追赶/读服务与第二次切换验证；未满足冗余说明

## 验收
1. 单主与事务边界成立
   方法：故障/分区后确认唯一可写主，旧主恢复仍被隔离；按已确认事务与复制延迟核对丢失/重复。
   拒收：新主可写但旧主也重回写入，形成分裂脑。
2. 业务连接真实恢复
   方法：从正常客户端端点重连/重试读写，测实际中断与RPO/RTO，核对会话/事务语义。
   拒收：手动连新主成功，却客户端仍指旧端点。
3. 冗余重新成立
   方法：重建/追赶备机并验证读/复制服务，重新施加一个故障，核对单主和事务状态。
   拒收：只恢复主库业务，副本未恢复却宣告完整HA。


## 具体例子
输入：主库故障后需切备，旧主随后重启，客户端必须继续且不双主。
预期产物：事务/连接/单主证据、实际时间、重建副本和第二次故障结果。
失败：新主可交易，旧主也写入且没有可用副本。

## 工作重组
以前：运维分别配置复制、故障检测、切换和客户端，常在主恢复后忽略冗余。
现在：Agent可联合诊断拓扑/位点、配置授权机制并驱动故障测试；独立事务/单主/端点探针决定接收。
保留：
- 确定复制丢失/可用性取舍、fencing与切换授权，确认业务和冗余均已恢复。
新增：
- 重建/追赶备机并验证读/复制服务，重新施加一个故障，核对单主和事务状态。

## 人的责任与失败接管
确定复制丢失/可用性取舍、fencing与切换授权，确认业务和冗余均已恢复。
不能证明唯一主或链状态时停止扩大写入，保留证据并升级；不可用盲提升/双写试探。

## 尚待补足
- 在隔离主备拓扑冻结事务/端点，测试主故障、网络分区、旧主回归与备机重建，再执行第二次切换。

## 职业与团队下一步
数据库高可用与复制
复制/检测/隔离/切换与连接端点配置、运行说明
在隔离主备拓扑冻结事务/端点，测试主故障、网络分区、旧主回归与备机重建，再执行第二次切换。
/explore?purpose=career&domain=computing
PostgreSQL18要求旧主隔离和新备机重建，原生DB不提供完整故障检测。DBA-Bench持续场景实际出现主事务恢复而副本未恢复，说明不能只验主库。
Agent可联合诊断拓扑/位点、配置授权机制并驱动故障测试；独立事务/单主/端点探针决定接收。
在隔离主备拓扑冻结事务/端点，测试主故障、网络分区、旧主回归与备机重建，再执行第二次切换。
/explore?purpose=team&domain=computing

## 证据与关系
- PostgreSQL18 Failover：https://www.postgresql.org/docs/18/warm-standby-failover.html
  定位：26.3：旧主隔离、检测边界、备机重建；公开 PostgreSQL18文档，单页未标日期；核查 2026-10-20；复查 2027-01-20
  支持：定义单主与冗余的实际接收条件。
  未覆盖：方法不是AI切换成绩。
- DBA-Bench v2：https://arxiv.org/abs/2607.22165v2
  定位：Abstract；live PostgreSQL/TiDB与persistent scenarios；公开 2026-07-24；v2修订2026-10-10；核查 2026-10-20；复查 2027-01-20
  支持：有直接副本未恢复的失败边界。
  未覆盖：受控场景不估生产频率，也不覆盖本拓扑。


## 任务级判断与证据
采用方式：分阶段接收
从证据到建议：PostgreSQL18要求旧主隔离和新备机重建，原生DB不提供完整故障检测。DBA-Bench持续场景实际出现主事务恢复而副本未恢复，说明不能只验主库。
当前可用性：mixed；原生复制/提升/重建接口公开，完整故障检测与fencing工具需按目标部署；本站未演练。
- PostgreSQL18 HA机制：https://www.postgresql.org/docs/18/warm-standby-failover.html
  文档18；实际DB/检测/fencing/端点工具版本固定；隔离主备/网络控制与业务客户端；完整检测工具另备

### PostgreSQL18说明故障切换须避免旧主重入形成双主，切换后需重建备机恢复冗余；检测/通知软件另配。
依据身份：工具与方法依据；状态：active
- PostgreSQL18 Failover：https://www.postgresql.org/docs/18/warm-standby-failover.html
  定位：26.3；关系：method
  支持：定义单主与冗余的实际接收条件。
  限制：方法不是AI切换成绩。
  核查：2026-10-20；来源状态：active
适用限制：方法不是AI切换成绩。

### DBA-Bench持续PostgreSQL复制场景出现主库事务达标但副本服务未恢复，局部恢复不满足完整结果。
依据身份：外部报告结果；状态：active
- DBA-Bench v2：https://arxiv.org/abs/2607.22165v2
  定位：6.6.1 Partial business outcomes；关系：partial
  支持：有直接副本未恢复的失败边界。
  限制：受控场景不估生产频率，也不覆盖本拓扑。
  核查：2026-10-20；来源状态：active
配置：v2持续评估：GPT5.5/Opus4.8/GLM5.1等，PostgreSQL/TiDB各5场景，每模型每场景1次；本主张仅该复制反例。
适用限制：受控场景不估生产频率，也不覆盖本拓扑。
相关进展（本条判断）：
- DBA-Bench以活跃负载区分诊断、恢复和约束：/explore?purpose=understand&domain=computing&window=all#P-C-DBA-STATE
  首次公开 2026-07-24；资料修订 2026-10-10：文档版本/结果表述修订；没有据此推定新的模型能力跃迁。

### 可委派HA配置/故障演练，以单主、客户端事务和冗余恢复联合接收，不能只按提升命令成功。
依据身份：有条件的编辑推断；状态：active
- PostgreSQL18 Failover：https://www.postgresql.org/docs/18/warm-standby-failover.html
  定位：26.3 failover and standby recreation；关系：partial
  支持：原生可检查机制支持演练。
  限制：需目标工具、拓扑和业务负载核验。
  核查：2026-10-20；来源状态：active
适用限制：需目标工具、拓扑和业务负载核验。

## 情境变化
### 复制延迟与丢失边界
输入变化：同步/异步与不同延迟条件。
判断变化：按事先约定事务损失和等待/可用性接收。
验收变化：确认事务/位点、丢失/重复、追赶与中断时间。
### 分区与旧主回归
输入变化：主未真停机或随后恢复。
判断变化：必须先证明单主与fencing，不能用提升掩盖双主。
验收变化：双方写入负例、客户端路由、重建副本及第二故障。

研究前沿：原生机制与状态型实验共同给出完整结果边界；DBA-Bench只是有限持续场景，不是此HA工具/拓扑的生产切换可靠率。
下一项验证：在隔离主备拓扑冻结事务/端点，测试主故障、网络分区、旧主回归与备机重建，再执行第二次切换。
未来改判信号：
- 不同故障/延迟条件下单主、事务、客户端和冗余都持续可复验，可扩大受限自动切换。
- 旧主重入可写、客户端未恢复或备机长期退化时停止完整HA声明。

## 与本单元直接关联的进展
### DBA-Bench以活跃负载区分诊断、恢复和约束
公开 2026-07-24；资料修订 2026-10-10：文档版本/结果表述修订；没有据此推定新的模型能力跃迁。
v2在活跃PostgreSQL/TiDB比较有界/持续运维状态，揭示诊断与恢复及安全的差距。
支持范围：预印本受限场景；具体库、权限与负载仍需独立状态验收。
来源状态：active
/explore?purpose=understand&domain=computing&window=all&kind=all#P-C-DBA-STATE

领域背景与未来情景：/explore?purpose=understand&domain=computing


## 工具与采用佐证

