Вы можете использовать динамику c SQL. Для этого код должен быть частью функции или внутри блока do
:
do $$
begin
EXECUTE format('Create TEMP Table %s As Select * From Table1',(select get_random_name()));
end $$;
Конечно, вы обязаны записать имя временной таблицы, чтобы вы могли запросить его позже ...
При этом отметим, что do c упоминает
Временные таблицы автоматически удаляются в конце сеанса или, при необходимости, в конец текущей транзакции
, поэтому, возможно, вы можете просто использовать одно и то же имя все время, поскольку другие клиенты (транзакция) не будут видеть временные таблицы, созданные другими клиентами (транзакция)