全局临时表
可获得性
本特性自openGauss 1.1.0版本开始引入。
特性简介
临时表顾名思义是不保证持久化的表,其生命周期一般跟session或者事务绑定,可以方便用于表达处理过程中的一些临时数据存放,加速查询。
客户价值
提升临时表的表达能力和易用性
特性描述
全局临时表的元数据对所有会话可见,会话结束后元数据继续存在。会话与会话之间的用户数据、索引和统计信息相互隔离,每个会话只能看到和更改自己提交的数据。
全局临时表有两种模式:一种是基于会话级别的(ON COMMIT PRESERVE ROWS),当会话结束时自动清空用户数据;一种是基于事务级别的(ON COMMIT DELETE ROWS), 当执行commit或rollback时自动清空用户数据。建表时如果没有指定ON COMMIT选项,则缺省为会话级别。与本地临时表不同,全局临时表建表时可以指定非pg_temp_开头的schema。
特性增强
在本地临时表的基础上增加了全局临时表的处理
特性约束
- 不支持并行扫描
- 不支持temp tablespace
- 不支持partition
- 不支持GIST索引
- 不支持User-defined统计信息pg_statistic_ext
- 不支持ON COMMIT DROP
- 不支持hash bucket 聚簇存储
- 不支持列存
依赖关系
无。