20110408pg_upgrade_fix and "FATAL: could not access status of transaction..."

From: "Henry C(dot)" <henka(at)cityweb(dot)co(dot)za>
To: pgsql-general(at)postgresql(dot)org
Subject: 20110408pg_upgrade_fix and "FATAL: could not access status of transaction..."
Date: 2011-04-23 07:56:57
Message-ID: bb0a10d54e4216f19434a15c87006e5c.squirrel@zenmail.co.za
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

Hi,

Lovely start to Saturday morning. My eyes are misting over with joy.

I'm trying to figure out whether I'm affected (probably) by this beauty
http://wiki.postgresql.org/wiki/20110408pg_upgrade_fix (I missed the ANNOUNCE
advisory, even more joy).

One of my DBs fails at startup:
2011-04-23 09:32:57 SAST: 6377 LOG: consistent recovery state reached at
2E5/9D87FC90
2011-04-23 09:32:57 SAST: 6377 LOG: redo starts at 2E5/9C00EF68
2011-04-23 09:32:57 SAST: 6377 FATAL: could not access status of
transaction 670554347

I don't have the error:
DETAIL: could not open file "pg_clog/####": No such file or directory

...as mentioned on the wiki, hence my question.

I'm using 9.0.4 on linux. The db is replicated to another machine where I
have made a backup of data/pg_clog before doing anything else. Sooo, two
questions:

1. how to proceed with getting db1 back up so I can run the script?
2. how to proceed with replicated database (db2)? (switch to standalone
(since it's in readonly replication mode) and run upgrade fix script as per
wiki, or leave as-is...)

Running pg in single user with some extra debugging on db1 provides nothing
else of interest:

DEBUG: invoking IpcMemoryCreate(size=671121408)
DEBUG: removing file "pg_notify/0000"
DEBUG: InitPostgres
DEBUG: my backend id is 1
LOG: database system was interrupted while in recovery at 2011-04-23
08:43:23 SAST
DEBUG: checkpoint record is at 2E5/9D87FC38
DEBUG: redo record is at 2E5/9C00EF68; shutdown FALSE
DEBUG: next transaction ID: 0/670559634; next OID: 758013015
DEBUG: next MultiXactId: 1; next MultiXactOffset: 0
DEBUG: oldest unfrozen transaction ID: 654, in database 1
DEBUG: transaction ID wrap limit is 2147484301, limited by database with OID 1
LOG: database system was not properly shut down; automatic recovery in
progress
LOG: consistent recovery state reached at 2E5/9D87FC90
LOG: redo starts at 2E5/9C00EF68
FATAL: could not access status of transaction 670554347
DEBUG: shmem_exit(1): 8 callbacks to make
DEBUG: proc_exit(1): 3 callbacks to make
DEBUG: exit(1)
DEBUG: shmem_exit(-1): 0 callbacks to make
DEBUG: proc_exit(-1): 0 callbacks to make

Any suggestions would be welcomed with even more misty-eyed thanks.

Cheers
Henry

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Henry C. 2011-04-23 11:22:23 Re: 20110408pg_upgrade_fix and 'FATAL: could not access status of transaction...'
Previous Message Tom Lane 2011-04-23 03:11:56 Re: Should I free this memory?