On Thu, Jan 12, 2006 at 07:46:18PM -0500, Tom Lane wrote:
> > * Transaction was committed/aborted/crashed - we have to update pg_clog
> > * if transaction is still marked as running.
> > */
> > if (!TransactionIdDidCommit(xid) && !TransactionIdDidAbort(xid))
> > TransactionIdAbort(xid);
>
> The comment's "have to" is an overstatement. The transaction would be
> treated as crashed anyway, it's just that this is a convenient place to
> make pg_clog a bit cleaner. I'm not real sure why we bother, actually.
Because that's what makes PostgreSQL such a reliable
product. You follow your intuition and taste and bother
doing cleanup even if you cannot immediately tell whether
it's *really* needed.
Better safe than sorry. Not a bad idea for a database.
Karsten (who is storing clinical data in PostgreSQL)
--
GPG key ID E4071346 @ wwwkeys.pgp.net
E167 67FD A291 2BEA 73BD 4537 78B9 A9F9 E407 1346