postgresql 中的重启点是什么?
What is a restartpoint in postgresql?
在 PostgreSQL 版本 13 的 postgresql.conf 文件中,archive_cleanup_command 注释按以下方式解释命令:
#archive_cleanup_command = '' # command to execute at every restartpoint.
文档 here and here 没有提及 'restartpoint'。这就提出了以下问题:
- 什么是重启点?
例如:restartpoint 是检查点的同一个词吗?两者的意思完全一样吗?
- 何时创建重启点?
例如:如果重启点只是一个检查点,那么检查点将每 5 分钟或 postgresql.conf 文件中 checkpoint_timeout 的任何设置创建一次。
- 存档清理命令什么时候运行?
例如:每次到达archive_timeout(在postgresql.conf文件中设置)时,存档清理命令为运行。如果存档超时设置为 1 小时,则每 1 小时 archive_cleanup_command 运行 秒。
重启点只是恢复期间的一个检查点,它的触发方式与检查点相同:通过超时或自上次重启点以来处理的 WAL 量。 Note also that
Restartpoints can't be performed more frequently than checkpoints in the master because restartpoints can only be performed at checkpoint records.
restartpoints的原因是“restartable recovery”:如果你的恢复过程被打断,下一次重启不会从备份开始恢复,而是从最近的restartpoint开始恢复。
archive_cleanup_command
是 运行 对于重新启动点期间所有完全恢复的 WAL 段。它的主要用例是日志传送备用服务器:使用 archive_cleanup_command
他们可以删除所有不再需要的传送 WAL 段,这样包含它们的目录就不会超出范围。
在 PostgreSQL 版本 13 的 postgresql.conf 文件中,archive_cleanup_command 注释按以下方式解释命令:
#archive_cleanup_command = '' # command to execute at every restartpoint.
文档 here and here 没有提及 'restartpoint'。这就提出了以下问题:
- 什么是重启点? 例如:restartpoint 是检查点的同一个词吗?两者的意思完全一样吗?
- 何时创建重启点? 例如:如果重启点只是一个检查点,那么检查点将每 5 分钟或 postgresql.conf 文件中 checkpoint_timeout 的任何设置创建一次。
- 存档清理命令什么时候运行? 例如:每次到达archive_timeout(在postgresql.conf文件中设置)时,存档清理命令为运行。如果存档超时设置为 1 小时,则每 1 小时 archive_cleanup_command 运行 秒。
重启点只是恢复期间的一个检查点,它的触发方式与检查点相同:通过超时或自上次重启点以来处理的 WAL 量。 Note also that
Restartpoints can't be performed more frequently than checkpoints in the master because restartpoints can only be performed at checkpoint records.
restartpoints的原因是“restartable recovery”:如果你的恢复过程被打断,下一次重启不会从备份开始恢复,而是从最近的restartpoint开始恢复。
archive_cleanup_command
是 运行 对于重新启动点期间所有完全恢复的 WAL 段。它的主要用例是日志传送备用服务器:使用 archive_cleanup_command
他们可以删除所有不再需要的传送 WAL 段,这样包含它们的目录就不会超出范围。