我想知道,如果有可能在两个单独的查询中有两个具有相同名称的临时表,而在稍后的查询中调用时它们不会发生冲突。
查询1:将临时表Tmp1创建为...
查询2:将临时表Tmp1创建为...
查询1:使用Tmp1做某事......
我想知道postgresql是否区分这两个表,可能是通过将它们称为Query1.Tmp1和Query2.Tmp1
答案 0 :(得分:7)
每个与数据库的连接都有自己的特殊temporary schema name,并在该模式中创建临时表。因此,即使表具有相同的名称,来自单独连接的并发查询之间也不会发生任何冲突。 https://dba.stackexchange.com/a/5237了解更多信息
用于创建表的PostgreSQL docs表示:
临时表存在于特殊模式中,因此在创建临时表时无法给出模式名称。