Hi, All
First, as I've already mentioned in answer to Tom about DROP TABLE, undo
logic
will not be implemented in 7.1 -:( Doable for tables but for indices we
would need
either in compensation records or in xmin/cmin in index tuples. So, we'll
still live
with dust from aborted xactions in our tables/indices.
WAL with rollforward logic is available for testing but yet requires
re-compiling
with -DXLOG flag. Note that regress tests are passed but it doesn't mean
anything.
What is required is testing how recovery does work (just run pg_ctl -m i
stop after
some changes in db and test db after restart). Also, I've tested it for
single running
transaction only. xlog.c:XLOG_DEBUG is on currently and results in high
output
to stderr.
WAL todo list looks like:
1. Add Checkpoint command; start backend from postmaster every X minutes to
create checkpoint; change checkpoint code to delete/archive offline log
files and
create new log file if current one is near full.
2. Port xlog.c to machines without test-and-set instructions.
3. Add logging for sequences.
4. Avoid using pg_variable - just log prefetched oid & xid.
5. Add logging/redo for hash/rtree/gist.
Any help would be appreciated.
Regards,
Vadim