has anyone thought about applying the write-ahead log
to the results of a vacuum that allows both readers and writers?
in other words,  couldn't vacuum just record the highest commited 
transaction id, say "TX", run the vacuum in a private space,
then apply the write-ahead log for all transactions after "TX"
to the private space, and, finally, update the appropriate system 
tables to point to the new version of the tables.

seems to me that this approach, while disk intensive, would work well in
environments where a 24x7 db is critical AND slow periods are acceptable.

of course, this approach is lossy, since the wal could
be active through out the sync by the vacuum process.
in other words, the vacuum could perpetually chase the tail 
of an active wal.  so the vacuum just gives up after a certain number of
tries.

otherwise, do any fundamental problems exist with this approach?

cheers-john scott


=====
John Scott
Senior Partner
August Associates

email: john@august.com
  web: http://www.august.com/~jmscott

__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/

Fri, 22 Jun 2001 16:43:47 -0700 (PDT)
John Scott <jmscott@yahoo.com>
using WAL in a VACUUM?