Shane Wright <me(at)shanewright(dot)co(dot)uk> writes:
> Hmm that gives me an idea, for bulk processing, is there a way of
> detecting from a client when a checkpoint is about to happen so it can
> wait until it's finished?
No, but maybe you could think about scheduling checkpoints yourself
to not coincide with your bulk jobs. You could issue CHECKPOINT
commands from cron or whatever is dispatching your bulk jobs, and then
widen the checkpoint-timing parameters in postgresql.conf enough to
avoid automatic CHECKPOINTs.
The only real drawback of less-frequent CHECKPOINTs is that the amount
of WAL space required goes up proportionally. (Oh, and it might take
proportionally longer to recover after a crash, too.)
regards, tom lane