AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / dba / 问题 / 189389
Accepted
user2274074
user2274074
Asked: 2017-10-27 04:39:49 +0800 CST2017-10-27 04:39:49 +0800 CST 2017-10-27 04:39:49 +0800 CST

Postgresql:在 postgresql 中删除临时表时

  • 772

我正在将数据插入临时表并且工作正常。下面是相同的psedo sql代码

with cte as(

)
select * 
into temp_table
from cte

使用这种方法,数据可以非常快速地插入到临时表中。根据我的知识,一旦会话关闭,临时表就会被删除。但即使关闭了我的 pgadmin 连接,我的临时表也不会被删除。

我的问题是 postgresql 中的临时表是否会自动删除,或者它们会保留在磁盘空间中,直到我们删除它们。

问候,

桑杰·萨伦克

postgresql temporary-tables
  • 2 2 个回答
  • 14507 Views

2 个回答

  • Voted
  1. Best Answer
    klin
    2017-10-27T05:01:55+08:002017-10-27T05:01:55+08:00

    实际上,您创建了一个常规表。您必须指定这是一个临时表:

    with cte as(
    -- <a_query>
    )
    select * 
    into temporary temp_table
    from cte;
    

    或(推荐的语法):

    create temporary table temp_table as
    -- <a_query>
    

    请参阅SELECT INTO和CREATE TABLE AS。

    • 7
  2. McNets
    2017-10-27T05:03:49+08:002017-10-27T05:03:49+08:00

    根据Postgres 文档,临时表在会话结束或事务结束时被删除。

    临时或临时

    如果指定,则将该表创建为临时表。临时表会在会话结束时自动删除,或者在当前事务结束时自动删除(请参阅下面的 ON COMMIT)。当临时表存在时,同名的现有永久表对当前会话不可见,除非它们使用模式限定名称进行引用。在临时表上创建的任何索引也自动是临时的。

    • 5

相关问题

  • 我可以在使用数据库后激活 PITR 吗?

  • 运行时间偏移延迟复制的最佳实践

  • 存储过程可以防止 SQL 注入吗?

  • PostgreSQL 中 UniProt 的生物序列

  • PostgreSQL 9.0 Replication 和 Slony-I 有什么区别?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve