It seems postmaster won't restart under WAL. What I have done so far
was creating some tables and inserting fairly large amount of tuples
(100000 tuples) using pgbench.
Here is the test sequence:
pg_ctl -w stop
rm -fr /usr/local/pgsql/data
initdb
pg_ctl -w start
createdb test
./pgbench -i test
pg_ctl -w -m i stop
pg_ctl -w start
and postmaster does not return from automatic recovering job. Here are
last 2 lines from log:
Nov 1 12:38:46 srapc968-yotsuya postgres[14769]: [7] DEBUG: The DataBase system was
not properly shut down ^IAutomatic recovery is in progress...
Nov 1 12:38:46 srapc968-yotsuya postgres[14769]: [8] DEBUG: Redo starts at (0,
287536)
It seems that the recovery process is waiting for acquiring a lock.
Here is the backtrace from the process:
(gdb) where
#0 0x2ac4acae in __select () from /lib/libc.so.6
#1 0x2ac9f0ac in ?? ()
#2 0x80ea18c in LockBuffer (buffer=37, mode=2) at xlog_bufmgr.c:1995
#3 0x8082feb in XLogReadBuffer (extend=0, reln=0x82e92c8, blkno=1)
at xlogutils.c:215
#4 0x80781e4 in btree_xlog_delete (redo=1, lsn={xlogid = 0,
xrecoff = 23741124}, record=0x82980dc) at nbtree.c:1013
#5 0x80790fe in btree_redo (lsn={xlogid = 0, xrecoff = 23741124},
record=0x82980dc) at nbtree.c:1450
#6 0x80825b2 in StartupXLOG () at xlog.c:1452
#7 0x80850cd in BootstrapMain (argc=6, argv=0x7fffeffc) at bootstrap.c:349
#8 0x80e047a in SSDataBase (startup=1 '\001') at postmaster.c:2187
#9 0x80deb1a in PostmasterMain (argc=1, argv=0x7ffff694) at postmaster.c:667
#10 0x80c3646 in main (argc=1, argv=0x7ffff694) at main.c:112
Please let me know if you need more info.
--
Tatsuo Ishii