I was connecting to Postgres 8.3 through JDBC. During my unit tests, something when wrong and now leaving with the
followinglocks in the db:
arc_dev=# select locktype, mode, relname, virtualtransaction, pid from pg_locks l join pg_class c on l.relation =
c.oid;
locktype | mode | relname | virtualtransaction | pid
----------+------------------+----------------------------+--------------------+------
relation | AccessShareLock | pg_locks | 1/38 | 1816
relation | RowShareLock | hibernate_sequences | -1/2091555 |
relation | RowExclusiveLock | hibernate_sequences | -1/2091555 |
relation | AccessShareLock | pg_class_oid_index | 1/38 | 1816
relation | AccessShareLock | pg_class_relname_nsp_index | 1/38 | 1816
relation | AccessShareLock | pg_class | 1/38 | 1816
(6 rows)arc_dev=#
The locks on 'hibernate_sequences' is causing any update to the locked row to hang. There is currently no running
databaseclient process anymore (as I've restarted by server a few times).
My question is how do i kill the virtual transaction and have the locks released?
Thanks,
kam