The following bug has been logged on the website:
Bug reference: 11321
Logged by: Ashutosh Durugkar
Email address: adurugkar@xento.com
PostgreSQL version: 9.3.5
Operating system: Ubuntu 12.04
Description:
Hello Experts,
I found this bug in postgresql-9.3.5 version-
describe command is getting locked due to ALTER statement running on real
table.
How to reproduce-
Session 1-
create table test (t int, name varchar(10));
alter table test add constraint uk_id UNIQUE (t);
BEGIN;
alter table test DROP constraint uk_id ;
Session 2-
BEGIN;
\d test --This command goes into waiting state.
postgres=# select query from pg_stat_activity where waiting='t';
query
--------------------------------------------------------------------------------------------------------------------------------------
SELECT c2.relname, i.indisprimary, i.indisunique, i.indisclustered,
i.indisvalid, pg_catalog.pg_get_indexdef(i.indexrelid, 0, true),+
pg_catalog.pg_get_constraintdef(con.oid, true), contype, condeferrable,
condeferred, c2.reltablespace +
FROM pg_catalog.pg_class c, pg_catalog.pg_class c2, pg_catalog.pg_index i
+
LEFT JOIN pg_catalog.pg_constraint con ON (conrelid = i.indrelid AND
conindid = i.indexrelid AND contype IN ('p','u','x')) +
WHERE c.oid = '2309188489' AND c.oid = i.indrelid AND i.indexrelid = c2.oid
+
ORDER BY i.indisprimary DESC, i.indisunique DESC, c2.relname;
It was working fine on 9.3.4 version.
Thanks for looking.