Postgresql临时表
作者:瀚高PG实验室 (Highgo PG Lab)- 汀上白沙
PostgreSQL支持两类临时表,会话级和事务级临时表。在会话级别的临时表中,在整个会话的生命周期中,数据一直保存。事务级临时表,数据只存在于这个事务的生命周期中。不指定临时表的属性,
PostgreSQL中,不管是事务级还是会话级临时表,当会话结束时,临时表就会消失。这与oracle数据库不同,在oracle数据库中,只是临时表中的数据消失,而临时表还存在。
示例:
创建临时表temp
使用其他会话查看临时表,可以看到查询不到临时表temp
使用“pg_temp_5.temp”可以查询到temp的信息
关闭创建临时表的会话,使用另一个会话再次查看,表已经被删除。
创建临时表,当前会话可以正常访问临时表中数据
使用另一个会话查询该临时表中的数据,不能查询数据
如果在两个不同的session中创建一个同名的临时表,实际上创建的是两张不同的表。
使用另一会话创建同名临时表 ,示例如下:
创建事务级临时表,示例如下
总结
PostgreSQL临时表是schema下所生成的一个特殊的表,这个schema的名称为“pg_temp_n”,其中n代表数字,不同的session数字不同。
一个会话创建的临时表不能被其他会话访问。
默认情况下,创建的临时表是会话级的,如果需要创建事务。需要添加“on commit delete rows”子句。(注:“on commit”子句形式有三种:“on commit preserve rows”,默认值,会话级;“on commit delete rows”,事务级,事务结束,删除数据;“on commit drop”,事务级,事务结束,删除临时表)
创建临时表的关键字“temporary”可以缩写为“temp”。
PostgreSQL为了与其他数据库创建临时表的语句保持兼容,还没有“GLOBAL”和“LOCAL”关键字,但两个关键字没有用处。
Postgresql临时表相关推荐
- Oracle数据库错误代码大全总结
ORACLE数据库错误代码大全总结 ORA-00001: 违反唯一约束条件 (.) ORA-00017: 请求会话以设置跟踪事件 ORA-00018: 超出最大会话数 ORA-00019: 超出最大会 ...
- PostgreSQL全局临时表插件pgtt的使用
墨墨导读:本文主要介绍PostgreSQL全局临时表插件pgtt的使用. https://github.com/darold/pgtt 前言 PostgreSQL目前到最新12版本只支持本地临时表不支 ...
- 关于postgresql中with 临时表的使用,筛选出来当天温度比昨天温度高的数据
假设我们有一张表temperature,表结构如下 数据如下 现在我们想筛选出来当天温度比昨天高的id,这时候我们就需要用到临时表,首相将数据构造出来,然后再在临时表上筛选 WITH temperat ...
- PostgreSQL SQL 语言:并行查询
本文档为PostgreSQL 9.6.0文档,本转载已得到原译者彭煜玮授权. 1. 并行查询如何工作 当优化器判断对于某一个特定的查询,并行查询是最快的执行策略时,优化器将创建一个查询计划.该计划包括 ...
- PostgreSQL操作问题(转载)
PostgreSQL操作问题 4.1)如何只选择一个查询结果的头几行?或是随机的一行? 如果你只是要提取几行数据,并且你在执行查询中知道确切的行数,你可以使用LIMIT功能. 如果有一个索引与 ORD ...
- 插入,在PostgreSQL中重复更新吗?
本文翻译自:Insert, on duplicate update in PostgreSQL? Several months ago I learned from an answer on Stac ...
- PostgreSQL — Prepared Statement 预编译
目录 文章目录 目录 PREPARE 指令 EXECUTE 指令 DEALLOCATE 指令 EXPLAIN 指令 ANALYZE 指令 ERROR,0A000,"cached plan m ...
- PostgreSQL与MySQL比较
2019独角兽企业重金招聘Python工程师标准>>> 特性 MySQL PostgreSQL 实例 通过执行 MySQL 命令(mysqld)启动实例.一个实例可以管理一个或多个数 ...
- postgresql中自定义函数脚本的备份及恢复
[转自 housonglin1213 的博客]http://blog.csdn.net/housonglin1213/article/details/51005540 1.自定义函数脚本备份 CREA ...
- oracle 临时表存在哪里_openGauss魔改PG?它能兼容Oracle的数据库表吗?
作者介绍 洪烨,openGauss Contributor,多年银行业系统架构设计及DBA实战经验,<DB2数据库内部解析与性能调优>作者. openGauss的前世今生 上一篇看到很多朋 ...
最新文章
- 以太坊私链搭建、truffle项目开发
- 中国污水处理行投资建议与运营价值分析报告2022-2027年
- linux网络编程之用select函数实现io复用(基于TCP)引发的思考
- Entropay(欧贝通)
- [面试] Thread 中 start() 和 run() 的区别都不知道,还怎么混?
- 如何用jQuery获得radio的值
- javascript数据结构与算法--散列
- Java设计模式(十二)----享元模式
- oracle-jde操作界面,JDE项目系统基础培训.ppt
- JVM内存管理------GC算法精解
- 牛客刷题——剑指offer
- android webview 误删,AndroidWebView内核
- Excel中度分秒格式(dd°mm′ss″)与十进制度(°)格式互转,角度与弧度互转
- sqlmap的简单使用(sql注入)
- 计算机的新兴技术在测绘工程领域的应用,测绘新技术在测绘工程测量中应用探讨.doc...
- 方向导数(Directional derivatives)
- 如何快速学习flex
- 移除未排序链表中的重复节点,保留最开始出现的节点
- 购物商城html源码asp,购物商城 html
- 人脸核身--第二篇--启用 H5人脸认证