Laurenz Albe wrote: > Two concurrent sessions perform statements against one database. The > sessions are named s1 and s2 in this example. > > s1=> CREATE TABLE x(i integer); > > s2=> BEGIN; > s2=> CREATE UNIQUE INDEX x_pkey ON x(i); > > s1=> DROP TABLE x; > (Session hangs) > > s2=> COMMIT; > > Now Session s1 will unblock and succeed in dropping the table. The index, > however, remains in pg_class, pg_depend, and pg_index.
Hmm. So this is the bug that Tom mentioned on race conditions on pg_depend. Interesting. I think the solution is to add more strict locking when registering stuff in pg_depend, like the pg_shdepend code does. -- Alvaro Herrera http://www.CommandPrompt.com/ The PostgreSQL Company - Command Prompt, Inc. ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq