postgresql 中的重启点是什么?

the*_*Man 6 postgresql postgresql-13

在 PostgreSQL 版本 13 的 postgresql.conf 文件中,archive_cleanup_command 注释按以下方式解释该命令:

#archive_cleanup_command = ''         # command to execute at every restartpoint.
Run Code Online (Sandbox Code Playgroud)

这里这里的文档没有提到“重新启动点”。这就提出了以下问题:

  1. 什么是重启点? 例如:重启点与检查点是同一个词吗?两者的意思完全相同吗?
  2. 何时创建重启点? 例如:如果重启点只是一个检查点,那么检查点将每 5 分钟创建一次,或者无论 postgresql.conf 文件中的 checkpoint_timeout 设置如何。
  3. 存档清理命令何时运行? 例如:每次达到 archive_timeout(在 postgresql.conf 文件中设置)时,都会运行 archive cleanup 命令。如果存档超时设置为 1 小时,则 archive_cleanup_command 每 1 小时运行一次。

Lau*_*lbe 5

重启点只是恢复期间的一个检查点,它的触发方式与检查点相同:要么通过超时,要么通过自上次重启点以来处理的 WAL 量。另请注意

\n
\n

重新启动点的执行频率不能高于主服务器中的检查点,因为重新启动点只能在检查点记录处执行。

\n
\n

重新启动点的原因是\xe2\x80\x9crestartable recovery\xe2\x80\x9d:如果你的恢复过程被中断,下次重新启动将不会从备份的开头开始恢复,而是从最新的重新启动点开始恢复。

\n

archive_cleanup_command在重启点期间对所有完全恢复的 WAL 段运行。它的主要用例是日志传送备用服务器:使用archive_cleanup_command它们可以删除不再需要的所有已传送的 WAL 段,以便包含它们的目录不会超出范围。

\n