<entry><literal>subtrans-checkpoint-done</literal></entry>
<entry><literal>(bool)</literal></entry>
<entry>Probe that fires when the SUBTRANS portion of a checkpoint is
complete. arg0 has the same meaning as for
<literal>subtrans-checkpoint-start</literal>.</entry>
</row>
<row>
<entry><literal>multixact-checkpoint-start</literal></entry>
<entry><literal>(bool)</literal></entry>
<entry>Probe that fires when the MultiXact portion of a checkpoint is
started.
arg0 is true for normal checkpoint, false for shutdown
checkpoint.</entry>
</row>
<row>
<entry><literal>multixact-checkpoint-done</literal></entry>
<entry><literal>(bool)</literal></entry>
<entry>Probe that fires when the MultiXact portion of a checkpoint is
complete. arg0 has the same meaning as for
<literal>multixact-checkpoint-start</literal>.</entry>
</row>
<row>
<entry><literal>buffer-checkpoint-start</literal></entry>
<entry><literal>(int)</literal></entry>
<entry>Probe that fires when the buffer-writing portion of a checkpoint
is started.
arg0 holds the bitwise flags used to distinguish different checkpoint
types, such as shutdown, immediate or force.</entry>
</row>
<row>
<entry><literal>buffer-sync-start</literal></entry>
<entry><literal>(int, int)</literal></entry>
<entry>Probe that fires when we begin to write dirty buffers during
checkpoint (after identifying which buffers must be written).
arg0 is the total number of buffers.
arg1 is the number that are currently dirty and need to be written.</entry>
</row>
<row>
<entry><literal>buffer-sync-written</literal></entry>
<entry><literal>(int)</literal></entry>
<entry>Probe that fires after each buffer is written during checkpoint.
arg0 is the ID number of the buffer.</entry>
</row>
<row>
<entry><literal>buffer-sync-done</literal></entry>
<entry><literal>(int, int, int)</literal></entry>
<entry>Probe that fires when all dirty buffers have been written.
arg0 is the total number of buffers.
arg1 is the number of buffers actually written by the checkpoint process.
arg2 is the number that were expected to be written (arg1 of
<literal>buffer-sync-start</literal>); any difference reflects other processes flushing
buffers during the checkpoint.</entry>
</row>
<row>
<entry><literal>buffer-checkpoint-sync-start</literal></entry>
<entry><literal>()</literal></entry>
<entry>Probe that fires after dirty buffers have been written to the
kernel, and before starting to issue fsync requests.</entry>
</row>
<row>
<entry><literal>buffer-checkpoint-done</literal></entry>
<entry><literal>()</literal></entry>
<entry>Probe that fires when syncing of buffers to disk is
complete.</entry>
</row>
<row>
<entry><literal>twophase-checkpoint-start</literal></entry>
<entry><literal>()</literal></entry>
<entry>Probe that fires when the two-phase portion of a checkpoint is
started.</entry>
</row>
<row>
<entry><literal>twophase-checkpoint-done</literal></entry>
<entry><literal>()</literal></entry>
<entry>Probe that fires when the two-phase portion of a checkpoint is
complete.</entry>
</row>
<row>
<entry><literal>buffer-extend-start</literal></entry>
<entry><literal>(ForkNumber, BlockNumber, Oid, Oid, Oid, int, unsigned int)</literal></entry>
<entry>Probe that fires when a relation extension starts.
arg0 contains the fork to be extended. arg1, arg2, and arg3 contain the
tablespace, database, and relation OIDs identifying the relation. arg4
is the ID of the backend which created the temporary relation for a
local buffer, or <symbol>INVALID_PROC_NUMBER</symbol> (-1) for a shared
buffer. arg5 is the number of blocks the caller