Re: create index concurrently blocks on transactions in other databases - Mailing list pgsql-bugs

From Simon Riggs
Subject Re: create index concurrently blocks on transactions in other databases
Date
Msg-id 1189111649.4175.425.camel@ebony.site
Whole thread Raw
In response to Re: create index concurrently blocks on transactions in other databases  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-bugs
On Thu, 2007-09-06 at 15:55 -0400, Tom Lane wrote:
> Simon Riggs <simon@2ndquadrant.com> writes:
> > On Thu, 2007-09-06 at 12:43 +0200, hubert depesz lubaczewski wrote:
> >> i dont really see why this would be neccessary - i understand that we
> >> need to wait for transactions in the same db, but waiting for
> >> transaction in another database?
>
> > Manual says "and in addition it must wait for all existing transactions
> > to terminate." This is needed for MVCC correctness and its not a bug.
>
> No, it isn't needed for MVCC correctness.  We're just out-waiting
> transactions that might try to use the index and not find what they
> should in it.  AFAICS Hubert is right: there is no need to wait for
> xacts in other DBs.  (At least for non-shared indexes, but we can't
> support C.I.C. on shared tables anyway.)

My mistake; I misread the question. Apologies, Hubert.

> This would have been painful to fix in 8.2 but it seems relatively
> trivial in HEAD --- we just need another filter option in
> GetCurrentVirtualXIDs.

Patch posted to pgsql-patches.

--
  Simon Riggs
  2ndQuadrant  http://www.2ndQuadrant.com

pgsql-bugs by date:

Previous
From: Tom Lane
Date:
Subject: Re: create index concurrently blocks on transactions in other databases
Next
From: Simon Riggs
Date:
Subject: Re: create index concurrently blocks on transactions in other databases