Re: create index concurrently blocks on transactions in other databases

From: Simon Riggs <simon(at)2ndquadrant(dot)com>
To: depesz(at)depesz(dot)com
Cc: pgsql-bugs(at)postgresql(dot)org
Subject: Re: create index concurrently blocks on transactions in other databases
Date: 2007-09-06 18:20:40
Message-ID: 1189102840.4175.388.camel@ebony.site
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-patches

On Thu, 2007-09-06 at 12:43 +0200, hubert depesz lubaczewski wrote:
> steps to reproduce:
> session1: connect using user1 to database1.
> session2: connect using user2 to database2.
> session1: create table x ( y int);
> session2: begin;
> session1: create index concurrently q on x(y);
> it hangs.
> session2: rollback/commit;
> session1: finishes.
>
> 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?
>
> i tested it on 8.2.4 and 8.3devel from cvs-head, fetched 3 days ago.

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.

http://www.postgresql.org/docs/8.2/static/sql-createindex.html

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

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Pascal Van De Gucht 2007-09-06 19:23:34 BUG #3604: lo_import does not work with filenames with accents
Previous Message Tom Lane 2007-09-06 17:41:54 Re: BUG #3598: Strange behaviour of character columns in select with views

Browse pgsql-patches by date

  From Date Subject
Next Message Tom Lane 2007-09-06 18:59:12 Re: tsearch refactorings
Previous Message Heikki Linnakangas 2007-09-06 18:05:57 Re: HOT patch - version 15