exact PostgreSQL binary/package version
tool options and locale/timezone
extension version and schema
script source hash
exit code
stdout/stderr raw location and redacted projection
input filesystem/snapshot identity
同名 pg_checksums、amcheck 或 ICU 在不同版本上可能有不同列、规则和输出。
35.6.2 区分“数据库能启动”与“业务数据可信”
五层验收
层
问题
示例证据
L1 process
postmaster 是否稳定运行
service/PID/log/crash loop
L2 SQL
catalog/事务是否可用
connect、read/write probe、control
L3 physical
page/structure 是否一致
checksum、amcheck、heap check
L4 relational
schema constraints/rows 是否一致
validate constraints、counts/digests
L5 business
业务事实是否可信
ledger、token、upstream reconciliation
恢复完成还要加 L6 operational:
replication
archive and backup
monitoring and alerting
service route and roles
capacity headroom
observation window
confirmed_recovered:id_ranges:[...]row_count:...confirmed_missing:business_ids:[...]reason:...possibly_affected:time_window:...tenants:...relation_blocks:...unknown:- rows formerly present on unreadable page- external side effects without idempotency ledgerestimation_method:source:...confidence:...
WAL/RPO gap
recovery point 与事故点之间可能缺的数据库事务
physical extraction gap
某些 page/object 无法读取
semantic gap
数据存在但业务意义错误
external-effect gap
数据库与支付、消息、邮件、对象存储不同步
一个 RPO 数字不能覆盖四类损失。
合规与沟通
由法律、安全、隐私和业务 owner 判断是否触发通知。技术团队提供可审计事实:
what systems/data classes were in scope
confidentiality vs integrity vs availability impact
earliest/latest affected time
confirmed/possible/unknown records
detection and containment time
recovery source and validation
evidence retention and access
next update time
service and business invariants accepted
unknown/loss register signed by owners
original evidence retained per policy
temporary credentials/routes/clones removed
backup/replication/monitoring re-established
hardware/root-cause track assigned
postmortem and control actions scheduled