Re: true serializability and predicate locking

From: "Albe Laurenz" <laurenz(dot)albe(at)wien(dot)gv(dot)at>
To: "Kevin Grittner *EXTERN*" <Kevin(dot)Grittner(at)wicourts(dot)gov>, "Jeff Davis" <pgsql(at)j-davis(dot)com>
Cc: <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: true serializability and predicate locking
Date: 2010-01-07 09:19:29
Message-ID: D960CB61B694CF459DCFB4B0128514C203938110@exadv11.host.magwien.gv.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Kevin Grittner wrote:
> Another interesting thing which crossed my mind (and I should
> probably add a section for such things in the wiki) is that, given
> the overhead and conflict implications of using table scans in
> serializable transactions, we should perhaps try to discourage table
> scans from being chosen for those using serializable transactions.
> I figure we can probably fudge this to a workable degree by
> adjusting tuple cost GUCs, but if you wanted to think about this
> issue in more depth, it might be useful.

I don't know if that's a good idea.
It's an attempt to guess what the user really wanted, and one reason
why I dislike Microsoft is that their software does exactly that.

Messing with the optimizer might result in bad plans, much to
the surprise of the user who "changed nothing". What have you won
if you take out fewer locks, but your query runs forever?

I'd opt for good documentation that tells you about the pitfalls
of this serializable implementation and counsels you. That also helps
to keep it simple.

Yours,
Laurenz Albe

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Fujii Masao 2010-01-07 09:21:10 Re: 'replication' keyword on .pgpass (Streaming Replication)
Previous Message Fujii Masao 2010-01-07 09:13:41 Re: 'replication' keyword on .pgpass (Streaming Replication)