Thomas Kellerer <spam_eater@xxxxxxx> writes: > Is there a reason why pg_catalog.pg_get_expr() will wait until the exclusive lock on the table is released? Yes. It needs to extract attribute names, data types, etc for the target table and it would also like to be sure that that data is self-consistent. So it takes out AccessShareLock the same as a query on the table would. There have been periodic debates about how it would be nice if this and related ruleutils.c functions would work based on the calling query's snapshot instead of trying to provide up-to-date info. However, short of a rather massive rewrite (and, probably, a lot of duplicative code) that's not going to happen :-( regards, tom lane -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general