是否在检查点后回收包含大量活动事务的 WAL?

Are WALs containing large active transactions recycled after a checkpoint?

包含大型活动(未提交)事务的 WAL 是否在检查点之后被回收? 我想是的,但我不确定...

通常使用 MVC 策略未提交的事务存储在新行版本中。
因此,在检查点之后,即使未提交,活动事务也会存储在数据磁盘上。
所以包含这些大活跃交易的 WAL 可以被回收。

我说得对吗?

是的,没错。

未提交事务的数据修改保存在表中,检查点将确保它们保存在磁盘上。因此崩溃恢复不需要检查点之前的 WAL。

当事务结束时,PostgreSQL 在提交日志中记录它的状态。这将使事务执行的修改可见或不可见,具体取决于您是提交还是回滚。