On Thu, Sep 04, 2003 at 11:21:05AM -0700, Jenny - wrote: > >I think the locks would actually by represented by PROCLOCK structures. > >The LOCK structures are for lockable objects, not for actual locks. > > Well,from what i understand, PROCLOCK stores the TransactionID and the LOCK > its holding lock on ,so how would PROCLOCK be holding the 'actual' lock as > apposed to the lockable objects?
Huh... look at http://developer.postgresql.org/pdf/internalpics.pdf pages 61 and 63. Maybe it's clearer than whatever I can say. Note that "HOLDER" has been renamed to "PROCLOCK". Anyway, I think the LOCK structure represents something that can be locked. The PROCLOCK struct represents that some process is holding a lock on said object. That may be the reason why you are seeing that a lock is held by more than one process at the same time (while in fact some of them are probably _waiting_ for the lock). -- Alvaro Herrera (<[EMAIL PROTECTED]>) "I dream about dreams about dreams", sang the nightingale under the pale moon (Sandman) ---------------------------(end of broadcast)--------------------------- TIP 8: explain analyze is your friend