提交 9f98704b 编写于 作者: S Simon Riggs

Clarify operation of online checkpoints.

Previous comments left, but were too obscure
for such an important aspect of the system.
上级 53edb8dc
...@@ -6847,6 +6847,18 @@ LogCheckpointEnd(bool restartpoint) ...@@ -6847,6 +6847,18 @@ LogCheckpointEnd(bool restartpoint)
* Note: flags contains other bits, of interest here only for logging purposes. * Note: flags contains other bits, of interest here only for logging purposes.
* In particular note that this routine is synchronous and does not pay * In particular note that this routine is synchronous and does not pay
* attention to CHECKPOINT_WAIT. * attention to CHECKPOINT_WAIT.
*
* If !shutdown then we are writing an online checkpoint. This is a very special
* kind of operation and WAL record because the checkpoint action occurs over
* a period of time yet logically occurs at just a single LSN. The logical
* position of the WAL record (redo ptr) is the same or earlier than the
* physical position. When we replay WAL we locate the checkpoint via its
* physical position then read the redo ptr and actually start replay at the
* earlier logical position. Note that we don't write *anything* to WAL at
* the logical position, so that location could be any other kind of WAL record.
* All of this mechanism allows us to continue working while we checkpoint.
* As a result, timing of actions is critical here and be careful to note that
* this function will likely take minutes to execute on a busy system.
*/ */
void void
CreateCheckPoint(int flags) CreateCheckPoint(int flags)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册