Hello!
We are running 8.4.13 on this particular database and recently we have been getting empty two phase commit state files inside the pg_twophase directory. These prepared transactions can't be rolled back due to the empty state file. Here is an example of the error message.
ERROR: two-phase state file for transaction 121421120 is corrupt
ERROR: two-phase state file for transaction 121421120 is corrupt
The only way to get rid of this is to restart the database, which is just a bandaid solution at this point.
-bash-3.2$ stat 073CBD40
File: `073CBD40'
Size: 0 Blocks: 0 IO Block: 4096 regular empty file
Device: 830h/2096d Inode: 100663469 Links: 1
Access: (0600/-rw-------) Uid: ( 499/postgres) Gid: ( 402/ dba)
Access: 2013-07-12 23:05:48.369557197 -0700
Modify: 2013-07-12 23:05:48.398557197 -0700
Change: 2013-07-12 23:05:48.398557197 -0700
Thanks!
--
Vincent Lau | Database Administrator
503.284.7581 x394 | vincent.lau@xxxxxxxxxxx
RENTRAK | www.rentrak.com | NASDAQ: RENT
Notice: This message is confidential and is intended only for the
recipient(s) named above. If you have received this message in error,
or are not the named recipient(s), please immediately notify the
sender and delete this message.
503.284.7581 x394 | vincent.lau@xxxxxxxxxxx
RENTRAK | www.rentrak.com | NASDAQ: RENT
Notice: This message is confidential and is intended only for the
recipient(s) named above. If you have received this message in error,
or are not the named recipient(s), please immediately notify the
sender and delete this message.