On Jul 11, 2011, at 10:44 AM, "Kevin Grittner" <kevin.gritt...@wicourts.gov> 
wrote:
> Heikki Linnakangas <heikki.linnakan...@enterprisedb.com> wrote:
>> On 11.07.2011 05:45, Patrick Earl wrote:
>>> The ability to lock on outer joins is quite useful.  I've even
>>> been contacted to ask if I was aware of any progress in this
>>> area.
>> 
>> 9.1 has a truly serializable isolation level, so I would suggest
>> using that instead of SELECT FOR UPDATE.
> 
> Heikki beat me to the big point, but I'll elaborate a bit.
> 
> First, 9.1 is in beta testing, and will probably be released this
> summer 
> 
> Next, when using this feature be sure to use transactional
> annotations and set things up so that a transaction which fails with
> SQLSTATE 40001 is retried from the start.  If you use serializable
> transactions consistently, you can drop all FOR UPDATE and FOR SHARE
> clauses, and most likely all explicit locks.  (In our in-house
> testing I've so far found one place where we needed to take an
> explicit lock on a dummy table we created just to control access to
> a sequence -- sequences don't follow normal transactional
> semantics.)
> 
> Third, review this section, and consider the performance tips there:
> 
> http://developer.postgresql.org/pgdocs/postgres/transaction-iso.html#XACT-SERIALIZABLE
> 
> I'd be interested in hearing how it goes.

I find these responses to be a bit off point. Not everyone can or will want to 
use SERIALIZABLE.  The OP's point is that we - particularly Tom - have argued 
in the past that we shouldn't allow this because it's too ill-defined and/or 
confusing. Evidently our competition does not agree, and I think that's a point 
worth noting.

...Robert
-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to