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