Thread: Record Lock details

Record Lock details

From
"Denis P Gohel"
Date:
Hi all,

I am using PostgreSQL 7.3.1.

Is there a data dictionary in Postgres from where i can get the info about
locked rows of any table ? If possible the value of those locked record ?

My situation is like:

I have an ODBC application working on Postgres. There are Master child
tables. I want, if a user A is editing any document ( one master and set of
child records) in front-end application, the same should not be available to
other user for editing.

I thought of using SELECT FOR UPDATE. But, in my case, i need to display the
name of application user and other details about the locked row.

From which data dictionary, i should query.

Any help would be appreciated.


Thanx

Denis






Re: Record Lock details

From
Peter Eisentraut
Date:
Am Freitag, 23. April 2004 10:43 schrieb Denis P Gohel:
> Is there a data dictionary in Postgres from where i can get the info about
> locked rows of any table ? If possible the value of those locked record ?

No, this information is not available for end users.

> I have an ODBC application working on Postgres. There are Master child
> tables. I want, if a user A is editing any document ( one master and set of
> child records) in front-end application, the same should not be available
> to other user for editing.
>
> I thought of using SELECT FOR UPDATE. But, in my case, i need to display
> the name of application user and other details about the locked row.

Keeping in mind that long-running transactions are not a good idea anyway, you 
should probably consider a user-space cooperative locking model.  There is 
something in contrib/userlock, but I'm not sure whether that fits what you 
need.