neon源码分析(6)计算启动recovery阶段分析开源 PostgreSQL 启动时,会先从 pg_control 读取最近一次 checkpoint 的位置,再读取对应的 checkpoint record 得到 checkpoint.redo;如果需要 crash recovery,就从 checkpoint.redo 开始向后 redo WAL,直到最后一条完整有效的 WAL record,然后把这条最后 WAL record的起始位置作为后续新 WAL 的 prev_lsn / xl_prev 来源,把它的结束位置作为后续新 WAL record