The function pg_get_expr(), which is used in various system views and
information schema views, does not appear to lock the table passed as
the second argument, and so appears to be liable to fail if there is a
concurrent drop of the table. There is a (probable) case of this being
discussed at [0]. I also see various mentions of this issue in the
commit logs, mostly related to pg_dump.
Is there a reason there is no locking? Performance?
What workaround should we use if there are conflicts created by
concurrent regression tests? Just move the tests around a bit until the
issue goes away?
[0]:
https://www.postgresql.org/message-id/flat/9ec24d7b-633d-463a-84c6-7acff769c...@eisentraut.org