Vincent Lau <vincent.lau@rentrakmail.com> writes:
> 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
> The only way to get rid of this is to restart the database, which is just a
> bandaid solution at this point.
Is there a waiting transaction corresponding to that file? If not you
could just manually remove the file, I think. Not that that isn't a
band-aid, but it'd be less painful than a restart.
Do you see any error messages logged at the time the transaction PREPARE
is attempted?
regards, tom lane