Tom Lane <tgl@sss.pgh.pa.us> wrote:
>
> jseymour@LinxNet.com (Jim Seymour) writes:
> > Again the difference: With WebObjects running, deleting rows and
> > trying to vacuum immediately, even full, fails. Shut-down WebObjects
> > and I can.
>
> WebObjects is evidently holding an open transaction. Ergo, anything
> deleted after the start of that transaction isn't vacuumable. You need
> to do something about the client-side logic that is holding an open
> transaction without doing anything ...
It certainly isn't holding open a transaction in the database I'm
working with. It's unclear to me it's holding any transaction open,
anywhere. This is all that showed up:
postgres=# select * from pg_locks where transaction is not null;relation | database | transaction | pid | mode
| granted
----------+----------+-------------+-------+---------------+--------- | | 1245358 | 18020 |
ExclusiveLock| t | | 1245364 | 267 | ExclusiveLock | t
(2 rows)
postgres=# select * from pg_stat_activity;datid | datname | procpid | usesysid | usename | current_query |
query_start
-------+----------+---------+----------+------------+---------------+-------------17142 | postgres | 267 | 1
|postgres | | 17144 | qantel | 18020 | 103 | webobjects | |
(2 rows)
I don't know what those are, but they list no database or relation. I
get this just be running psql (this time at home):
jseymour=> select * from pg_locks where transaction is not null;relation | database | transaction | pid | mode
|granted
----------+----------+-------------+-----+---------------+--------- | | 8938 | 307 |
ExclusiveLock| t
(1 row)
jseymour=> select * from pg_stat_activity;datid | datname | procpid | usesysid | usename | current_query |
query_start
-------+----------+---------+----------+----------+---------------+-------------17144 | jseymour | 307 | 101 |
jseymour| |
(1 row)
Without having touched a thing.
Jim