async fn run_restore(task_id: &str, filename: &str)Expand description
后台执行恢复:探测 psql,可用则 psql -f,不可用则报告。
幂等恢复:备份由 pg_dump --clean --if-exists 生成,脚本自带
DROP ... IF EXISTS,恢复时会先删后建,数据完全回到备份时刻。
错误中止:-v ON_ERROR_STOP=1 让 psql 在第一条 SQL 错误时立即退出
(退出码 3)。否则 psql 即使满屏 ERROR 也返回 0,导致 status.success()
误判为成功——这是「恢复完成却无任何数据变更」假成功的根因。
恢复成功后失效全量缓存:恢复会用备份时刻的数据重建 posts 等表, 现有 moka 缓存(列表/标签/单篇/统计/搜索)与 SSR 世代号必须一并冲刷, 否则前端仍读旧数据。