On Tue, 2008-07-08 at 13:54 +0500, Dmitry Melekhov wrote: > > What do you mean "WAL is enabled"? That's not a term I recognize > since > > WAL is always enabled. > > > > > AFAIK, it can be disabled. May be I'm wrong... Maybe you mean archiving? That *can* be disabled. > > Best read this > > > http://developer.postgresql.org/pgdocs/postgres/routine-vacuuming.html > > > > VACUUM needs to perform writes to clear up, which generates WAL. > > > > > This is what I don't understand. > I think WAL can be used for point-in-time recovery. > So, if I have database backup and WAL generated after this backup, I > can > do recovery, this mean WAL already contains all changes to database, > without vacuum. Could you tell me what is wrong in my sentence? Vacuum performs an essential function and its changes are WAL-logged. Those changes are an essential part of the structure of the database and must be included as part of recovery also. If you think PostgreSQL is somehow different to Oracle, read up on Deferred Block Cleanout and how SELECT statements can cause additional redo writes. -- Simon Riggs www.2ndQuadrant.com PostgreSQL Training, Services and Support