Satoshi Nagayasu <nagayasus@nttdata.co.jp> writes:
> I'm *really* *really* interested in making PostgreSQL to be vacuum-less.
> Can we have a vacuum-less PostgreSQL in the future? How?
I don't foresee that ever happening. AFAICS a non-vacuuming MVCC system
would have to be implemented just like Oracle (ie, rollback segments)
and as any Oracle DBA will tell you, that has plenty of drawbacks of
its own. Not to mention that Oracle probably has a few key patents
in that area.
Updating a database with transaction safety requires overhead, and
you're going to pay for that overhead somewhere. We've chosen to
pay for it via vacuum. I think that's a good system design in the
abstract --- for one thing, it keeps the overhead cost out of the
foreground transaction-processing code paths.
Of course we'll continue to whittle away at the problem of making
vacuum less objectionable --- autovacuum, reducing its i/o demand,
etc --- but I don't foresee us making a 180degree course correction
on such a fundamental design choice.
You can find plenty of discussion of this in past threads in the
pgsql-hackers archives.
regards, tom lane