可以在单独的查询中存在两个具有相同名称的临时表

时间:2015-11-11 18:54:48

标签: postgresql

我想知道,如果有可能在两个单独的查询中有两个具有相同名称的临时表,而在稍后的查询中调用时它们不会发生冲突。

查询1:将临时表Tmp1创建为...

查询2:将临时表Tmp1创建为...

查询1:使用Tmp1做某事......

我想知道postgresql是否区分这两个表,可能是通过将它们称为Query1.Tmp1和Query2.Tmp1

1 个答案:

答案 0 :(得分:7)

每个与数据库的连接都有自己的特殊temporary schema name,并在该模式中创建临时表。因此,即使表具有相同的名称,来自单独连接的并发查询之间也不会发生任何冲突。 https://dba.stackexchange.com/a/5237了解更多信息

用于创建表的PostgreSQL docs表示:

  

临时表存在于特殊模式中,因此在创建临时表时无法给出模式名称。