Dimitri Fontaine <email@example.com> writes:
> Josh Berkus <firstname.lastname@example.org> writes:
>> a) Eliminate WAL logging entirely
>> b) Eliminate checkpointing
>> c) Turn off the background writer
>> d) Have PostgreSQL refuse to restart after a crash and instead call an
>> exteral script (for reprovisioning)
> Well I guess I'd prefer a per-transaction setting, allowing to bypass
> WAL logging and checkpointing.
Not going to happen; this is all or nothing.
> Forcing the backend to care itself for
> writing the data I'm not sure is a good thing, but if you say so.
Yeah, I think proposal (c) is likely to be a net loss.
(a) and (d) are probably simple, if by "reprovisioning" you mean
"rm -rf $PGDATA; initdb". Point (b) will be a bit trickier because
there are various housekeeping activities tied into checkpoints.
I think you can't actually remove checkpoints altogether, just
skip the flush-dirty-pages part.
regards, tom lane