[postgis-devel] Concurrent Modification and Feature Locking
Cory Horner
chorner at refractions.net
Fri Jul 21 09:24:38 PDT 2006
Kevin wrote:
> The system view pg_locks
> (http://www.postgresql.org/docs/8.1/static/view-pg-locks.html) might
> give you a partial solution by identifying what tables currently have
> locks on them.
Sandro wrote:
>Have you taken a look at the new Long Transaction Support
>in PostGIS 1.1.3 ?
>
>http://postgis.refractions.net/docs/ch06.html#id2531072
>
Paul wrote:
> http://www.postgresql.org/docs/current/static/sql-select.html#SQL-FOR-UPDATE-SHARE
>
> check the part on NOWAIT
Thanks guys! Yesterday I implemented my first attempt at row locking
using SELECT ... FOR UPDATE, but was surprised to discover that this
query also blocked, even with the query timeout value set. This led to
another attempt using a timer thread (did not work well, as postgres
does not take kindly to dropped connections). Fortunately Paul has
discovered NOWAIT which will likely solve all our woes.
Our current workflow is:
SELECT ... FOR UPDATE NOWAIT
- on success UPDATE ...
- on failure query pg_locks to generate an intelligent exception, citing
who has the row locked, etc
Thanks again,
Cory.
More information about the postgis-devel
mailing list