Re: [HACKERS] Predicate locking

2011-05-04 Thread Kevin Grittner
I wrote: > On the other hand, as a shop where we're probably going to set > default_transaction_isolation = serializable in our > postgresql.conf files and include trigger checks that we're > running at that level, we can just boost those globally. That may > also work for others. Just as a qu

Re: [HACKERS] Predicate locking

2011-05-04 Thread Kevin Grittner
Robert Haas wrote: > On Tue, May 3, 2011 at 10:07 PM, Kevin Grittner > wrote: >> ... on a toy table with contrived values. How different is this >> from the often-asked question about why a query against a >> four-line table is not using the index they expect, and how can >> we expect it to scal

Re: [HACKERS] Predicate locking

2011-05-04 Thread Robert Haas
On Tue, May 3, 2011 at 10:07 PM, Kevin Grittner wrote: > ... on a toy table with contrived values.  How different is this > from the often-asked question about why a query against a four-line > table is not using the index they expect, and how can we expect it > to scale if it doesn't?  I agree th

Re: [HACKERS] Predicate locking

2011-05-04 Thread Kevin Grittner
> Greg Smith wrote: > My point was just that no one has really done that here yet: > provided an example showing SSI serialization working as a > substitute for predicate locking in this sort of use case. I trust > that the theory is sound here, and yet I'd still like to see that > demonstrated.

Re: [HACKERS] Predicate locking

2011-05-03 Thread Greg Smith
Kevin Grittner wrote: Check where the plan goes from a table scan to an indexed access. Also look at what is showing for SIRead locks in pg_locks as you go. Between those two bits of information, it should become apparent. OK, so this doesn't look to be an index lock related thing at all here.

Re: [HACKERS] Predicate locking

2011-05-03 Thread Greg Smith
Kevin Grittner wrote: I don't think Vlad is being unreasonable here; he's provided a test case demonstrating the behavior he'd like to see, and shown it doesn't work as expected. ... on a toy table with contrived values. How different is this from the often-asked question about why a que

Re: [HACKERS] Predicate locking

2011-05-03 Thread Kevin Grittner
Greg Smith wrote: > However, if I increase the generate_series to create 349 rows (or > more) instead, it works. > I don't fully understand why this attempt I tried to do that is > working the way it does though. Check where the plan goes from a table scan to an indexed access. Also look at w

Re: [HACKERS] Predicate locking

2011-05-03 Thread Greg Smith
Dan Ports wrote: Yes, you're right -- the current implementation of SSI only locks indexes at the granularity of index pages. So although those transactions don't actually access the same records, they're detected as a conflict because they're on the same index page. Let's try to demonstrate th

Re: [HACKERS] Predicate locking

2011-05-03 Thread Kevin Grittner
Dan Ports wrote: > On Tue, May 03, 2011 at 01:36:36PM +0900, Vlad Arkhipov wrote: >> Then I commited the both and the second one raised an exception: >> ERROR: could not serialize access due to read/write dependencies >> among transactions >> SQL state: 40001 >> >> However the second transaction d

Re: [HACKERS] Predicate locking

2011-05-02 Thread Dan Ports
On Tue, May 03, 2011 at 01:36:36PM +0900, Vlad Arkhipov wrote: > Then I commited the both and the second one raised an exception: > ERROR: could not serialize access due to read/write dependencies among > transactions > SQL state: 40001 > > However the second transaction does not access the recor

Re: [HACKERS] Predicate locking

2011-05-02 Thread Vlad Arkhipov
30.04.2011 22:18, Kevin Grittner wrote: Vlad Arkhipov wrote: 29.04.2011 21:18, Kevin Grittner wrote: Vlad Arkhipov wrote: But even if it would work it would not help me anyways. Because my constraint is much more complex and depends on other tables, I cannot express it in t

Re: [HACKERS] Predicate locking

2011-04-30 Thread Kevin Grittner
> Vlad Arkhipov wrote: > 29.04.2011 21:18, Kevin Grittner wrote: >> Vlad Arkhipov wrote: >>> But even if it would work it would not help me anyways. Because >>> my constraint is much more complex and depends on other tables, I >>> cannot express it in terms of exclusion constraints. >> >> Are yo

Re: [HACKERS] Predicate locking

2011-04-29 Thread Vlad Arkhipov
29.04.2011 21:18, Kevin Grittner wrote: Vlad Arkhipov wrote: But even if it would work it would not help me anyways. Because my constraint is much more complex and depends on other tables, I cannot express it in terms of exclusion constraints. Are you aware of the changes to the SE

Re: [HACKERS] Predicate locking

2011-04-29 Thread Kevin Grittner
Vlad Arkhipov wrote: > But even if it would work it would not help me anyways. Because my > constraint is much more complex and depends on other tables, I > cannot express it in terms of exclusion constraints. Are you aware of the changes to the SERIALIZABLE transaction isolation level in the

Re: [HACKERS] Predicate locking

2011-04-28 Thread Vlad Arkhipov
28.04.2011 21:36, David Fetter пишет: On Thu, Apr 28, 2011 at 12:07:34PM +0900, Vlad Arkhipov wrote: 27.04.2011 18:38, Heikki Linnakangas пишет: On 27.04.2011 12:24, Vlad Arkhipov wrote: 27.04.2011 17:45, Nicolas Barbier: 2011/4/27 Vlad Arkhipov: I'm

Re: [HACKERS] Predicate locking

2011-04-28 Thread David Fetter
On Thu, Apr 28, 2011 at 12:07:34PM +0900, Vlad Arkhipov wrote: > 27.04.2011 18:38, Heikki Linnakangas пишет: > >On 27.04.2011 12:24, Vlad Arkhipov wrote: > >>27.04.2011 17:45, Nicolas Barbier: > >>>2011/4/27 Vlad Arkhipov: > >>> > I'm currently need predicate locking in the project, so there ar

Re: [HACKERS] Predicate locking

2011-04-27 Thread Vlad Arkhipov
27.04.2011 18:38, Heikki Linnakangas пишет: On 27.04.2011 12:24, Vlad Arkhipov wrote: 27.04.2011 17:45, Nicolas Barbier: 2011/4/27 Vlad Arkhipov: I'm currently need predicate locking in the project, so there are two ways to get it by now: implement it by creating special database records to l

Re: [HACKERS] Predicate locking

2011-04-27 Thread Heikki Linnakangas
On 27.04.2011 12:24, Vlad Arkhipov wrote: 27.04.2011 17:45, Nicolas Barbier: 2011/4/27 Vlad Arkhipov: I'm currently need predicate locking in the project, so there are two ways to get it by now: implement it by creating special database records to lock with SELECT FOR UPDATE or wait while they

Re: [HACKERS] Predicate locking

2011-04-27 Thread Vlad Arkhipov
27.04.2011 17:45, Nicolas Barbier: 2011/4/27 Vlad Arkhipov: I'm currently need predicate locking in the project, so there are two ways to get it by now: implement it by creating special database records to lock with SELECT FOR UPDATE or wait while they will be implemented in Postgres core.

Re: [HACKERS] Predicate locking

2011-04-27 Thread Nicolas Barbier
2011/4/27 Vlad Arkhipov : > I'm currently need predicate locking in the project, so there are two ways > to get it by now: implement it by creating special database records to lock > with SELECT FOR UPDATE or wait while they will be implemented in Postgres > core. Is there something like predicate