I'm having a bear of a time with an application where one thread seems to be keeping a lock on a table after it's supposed to release it. select count(*) from pg_locks gives: 6816 Is there any way to get the list of locks by transation id or some other datum to indicate which was first, or to figure out which is the lock that is holding everything else back? Alex Turner netEconomist ---------------------------(end of broadcast)--------------------------- TIP 9: the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match