Maxim Orlov <orlo...@gmail.com> writes: > But for the second one: do we really need any lock for temp relations?
Yes. Our implementation restrictions preclude access to the contents of another session's temp tables, but it is not forbidden to do DDL on them so long as no content access is required. (Without this, it'd be problematic for example to clean out a crashed session's temp tables. See the "orphan temporary tables" logic in autovacuum.c.) You need fairly realistic locking to ensure that's OK. regards, tom lane