Usando o postgreSQL 10 ou 11, seria seguro criar tabelas temporárias com o mesmo nome, cada uma carregando dados diferentes? Não pretendo compartilhar os dados entre nenhuma sessão/conexão/transação. O nome em si não é importante, mas gostaria de me proteger do problema de gerar nomes aleatórios para cada consulta simultânea que precisa dessa tabela intermediária.
A tabela temporária é usada apenas em SELECT
consultas diferentes. Ele será descartado no final de cada transação com a ON COMMIT DROP
cláusula.
A documentação do PostgreSQL afirma:
As tabelas permanentes existentes com o mesmo nome não são visíveis para a sessão atual enquanto a tabela temporária existir, a menos que sejam referenciadas com nomes qualificados pelo esquema.
Não está claro para mim se isso também se aplica a tabelas temporárias.
documentação significa:
uma tabela permanente não estará visível para seu código.
Mas você pode solicitar dados da tabela permanente adicionando esquema a name - schema_name.table_name .
Respondendo à sua pergunta - sim, é seguro.