Hi, Tom Lane wrote:
Well, one of the principal arguments for having VACUUM at all is that it off-loads required maintenance effort from foreground transaction code paths.
Off-loading doesn't mean we don't have to do the work, so it's obviously is a compromise.
AFAICT, having to write some DSM blocks from foreground transaction code paths may well be worth it overall, if it saves VACUUM from doing much more I/O.
Especially if the bgwriter can defer the I/O to after commit time (which I'm thinking of as another form of off-loading work from foreground transaction code).
Regards Markus ---------------------------(end of broadcast)--------------------------- TIP 5: don't forget to increase your free space map settings