Ron Johnson <ron.l.johnson@cox.net> writes:
>> harpreet.dhaliwal01@gmail.com ("Harpreet Dhaliwal") writes:
>>> I was just wondering if Vacuum Db in postgresql is somehow superior
>>> to the ones that we have in other RDBMS.
> So it's not "near-zero cost", it's "deferred cost".
Exactly. VACUUM sucks (ahem) in all ways but one: it pushes the
maintenance costs associated with MVCC out of the foreground query code
paths and into an asynchronous cleanup task. AFAIK we are the only DBMS
that does it that way. Personally I believe it's a fundamentally
superior approach --- because when you are under peak load you can defer
the cleanup work --- but you do need to pay attention to make sure that
the async cleanup isn't postponed too long. We're still fooling around
with autovacuum and related tuning issues to make it work painlessly...
regards, tom lane