Skip to main content

sql_line_without_eol

Function sql_line_without_eol 

Source
fn sql_line_without_eol(line: &[u8]) -> &[u8] 
Expand description

后台执行恢复:探测 psql,可用则原子恢复,不可用则报告。

跨环境恢复:旧备份可能含 ALTER ... OWNER TO ...,而目标集群未必存在 源库角色。恢复前流式生成临时副本,只移除 pg_dump 生成的属主语句;COPY 数据 原样保留。新备份已由 --no-owner --no-privileges 从源头去掉角色元数据。

原子恢复:备份由 pg_dump --clean --if-exists 生成,脚本自带 DROP ... IF EXISTS;psql 使用 --single-transaction,任一 SQL 错误都会 回滚先前的 DROP/CREATE/COPY,不留下半恢复数据库。

错误中止-v ON_ERROR_STOP=1 让 psql 在第一条 SQL 错误时立即退出 (退出码 3)。否则 psql 即使满屏 ERROR 也返回 0,导致 status.success() 误判为成功——这是「恢复完成却无任何数据变更」假成功的根因。

恢复成功后失效全量缓存:恢复会用备份时刻的数据重建 posts 等表, 现有 moka 缓存(列表/标签/单篇/统计/搜索)与 SSR 世代号必须一并冲刷, 否则前端仍读旧数据。