📜  PostgreSQL – 临时表名

📅  最后修改于: 2022-05-13 01:57:15.001000             🧑  作者: Mango

PostgreSQL – 临时表名

在 PostgreSQL 中,临时表可以与永久表同名,尽管不推荐这样做。当用户创建一个与永久表同名的临时表时,在临时表被移除之前,用户无法访问该永久表。

例子:
首先,创建一个名为customers的表:

CREATE TABLE customers(id SERIAL PRIMARY KEY, name VARCHAR NOT NULL);

其次,创建一个同名的临时表: customers

CREATE TEMP TABLE customers(customer_id INT);

现在查询客户表中的数据,如下所示:

SELECT * FROM customers;

输出:
在这一阶段,PostgreSQL 访问的是临时表 customer 而不是永久表。从现在开始,当临时表customers被专门移除customers test数据库中的表,您将只能看到临时表customers,而不是下面的永久表:

注意: PostgreSQL 在特殊模式中创建临时表,因此,您不能在 CREATE TEMP TABLE 语句中指定模式。

现在,如果您使用以下命令列出表:

\dt

结果如下图所示:

输出显示customers临时表pg_temp_3