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 ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq