Robert Haas <robertmh...@gmail.com> writes: > I thought about an error exit from client authentication, and that's a > somewhat appealing explanation, but I can't quite see why we wouldn't > clean up there the same as anywhere else. The whole mechanism feels a > bit rickety to me - we don't actually release locks; we just abort the > transaction and *assume* that will cause locks to get released.
Well, transaction abort will call LockReleaseAll, which is carefully coded to clean up the proclock lists regardless of what is in the locallocks table, so I'm not sure why you find that any more rickety than anything else. But maybe it'd be interesting for Dave to stick a LockReleaseAll call into ProcKill() and see if that makes things better. (Dave: test that before you put it in production, I'm not totally sure it's safe.) regards, tom lane -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers