Something came to my mind today, I'm not sure if it's feasible but I would like to know opinions on it.
We've seen database applications that PostgreSQL simply could not manage because one would have to vacuum continuously. Perhaps in those situations one could arrange it that an update (or delete) of a row registers the space in the free space map right away, on the assumption that by the time it is up for reuse, the transaction will likely have committed. Naturally, this would need to be secured in some way, for example a "maybe" bit in the FSM itself or simply checking that the supposed free space is really free before using it, perhaps combined with a timeout ("don't consider until 5 seconds from now"). I think with applications that have a more or less constant data volume but update that data a lot, this could assure constant disk space usage (even if it's only a constant factor above the ideal usage) without any vacuuming. Comments? -- Peter Eisentraut http://developer.postgresql.org/~petere/ ---------------------------(end of broadcast)--------------------------- TIP 2: Don't 'kill -9' the postmaster