jseymour@LinxNet.com (Jim Seymour) writes:
> Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> WebObjects is evidently holding an open transaction.
> It certainly isn't holding open a transaction in the database I'm
> working with.
Which database the transaction is in isn't real relevant... the logic is
done globally so that it will be correct when vacuuming shared tables.
> It's unclear to me it's holding any transaction open,
> anywhere.
Sure it is, assuming that PID 18020 is the session we're talking about.
> postgres=# select * from pg_locks where transaction is not null;
> relation | database | transaction | pid | mode | granted
> ----------+----------+-------------+-------+---------------+---------
> | | 1245358 | 18020 | ExclusiveLock | t
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
This process has an open transaction number 1245358. That's what an
exclusive lock on a transaction means.
> 17142 | postgres | 267 | 1 | postgres | |
> 17144 | qantel | 18020 | 103 | webobjects | |
These entries didn't make a lot of sense to me since the other examples
you mentioned did not seem to be getting executed in the 'postgres'
database --- but I assume PID 18020 is the one you are referring to as
webobjects.
regards, tom lane