Correcting one point of my last mail. > Ouch! It brought another bug.
My patch also did. regards, ==== > > I completely understood the behavior thanks to your detailed > > explanation. (And how to use log messages effectively :-) > > Sorry, I just found that it's wrong, and found another problem > brought by your patch. > > > I agree that the fix is appropriate. > > > > > I believe the attached fix is the right way to fix this. > > > > It also worked for me. Thank you. > > | * as if we had just replayed the record before the REDO location > | * (or the checkpoint record itself, if it's a shutdown checkpoint). > > The test script following raises assertion failure. It's added > with 'non-shutdown' checkpoint' just before shutting down > immediately. Starting server aborts with the following message. > > | LOG: database system was not properly shut down; automatic recovery in > progress > | TRAP: FailedAssertion("!(((oldestActiveXID) != ((TransactionId) 0)))", > File: "xlog.c", Line: 6771) > | LOG: startup process (PID 28561) was terminated by signal 6: Aborted > > regards, > > -- > Kyotaro Horiguchi > NTT Open Source Software Center > > === > #! /bin/sh > > killall postgres > rm -rf $PGDATA/* > initdb > pg_ctl start -w > sleep 1 > psql postgres -c 'checkpoint' > pg_ctl stop -m i > cat > $PGDATA/recovery.conf <<EOF > standby_mode = 'on' > primary_conninfo = 'host=localhost port=9999 user=repuser > application_name=pm01 keepalives_idle=60 keepalives_interval=5 > keepalives_count=5' > #restore_command = '/bin/true' > recovery_target_timeline = 'latest' > EOF > cat >> $PGDATA/postgresql.conf <<EOF > #log_min_messages = debug5 > hot_standby = on > EOF > pg_ctl start > ==== -- Kyotaro Horiguchi NTT Open Source Software Center -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers