4436ac95

Author: Tom Sydney Kerckhove <syd@cs-syd.eu>

Committer: Tom Sydney Kerckhove <NorfairKing@users.noreply.github.com>

Stop waiting for a spread checkpoint when taking a base backup

pg_basebackup waits for a checkpoint, and by default that checkpoint is
spread over the checkpoint interval rather than taken at once. The wait is
proportional to how busy the server is, and a server a standby is taken
from is busy by definition: a suite is running against it.

Asking for the checkpoint immediately is what --checkpoint=fast is for.
This package's own suite goes from 78 seconds to a little over one, and
starting a standby from about 13.5 seconds to about 0.17.
GitHub
Time to Start Worker time Duration Time to finish Idle
Config 14s 0s 0s 15s 14s
Eval 15s 2m15s 2m15s 2m30s 0s
Build 2m29s 0s - - 0s
Suite 14s 2m16s - - 20m48s