Согласно документации:
ON COMMIT DROP: временная таблица будет удалена в конце текущего блока транзакции.
Однако временные таблицы уникальны для каждого сеанса, а не для каждого потока: см. здесь
Мой вопрос:
Если временная таблица помечена WITH ON COMMIT DROP, как PG будет обрабатывать несколько потоков, обращающихся к этой таблице, в отношении того факта, что любой поток может зафиксировать, но таблицу нельзя удалить, поскольку она используется другими потоками.
Изменить: насколько я знаю, в рамках одного сеанса может выполняться несколько транзакций. Если это так, более чем одна транзакция может получить доступ к функции с временной таблицей, отсюда и мой вопрос.