pgtt
类似Oracle的全局临时表功能
概览
| ID | 扩展名 | Bin | Lib | Load | Create | Trust | Reloc | 模式 |
|---|---|---|---|---|---|---|---|---|
| 9110 | pgtt | 否 | 是 | 是 | 是 | 否 | 否 | pgtt_schema |
版本
| 类型 | 仓库 | 版本 | PG 大版本 | 包名 | 依赖 |
|---|---|---|---|---|---|
| EXT | PGDG | 4.6 | 1817161514 | pgtt | - |
| RPM | PGDG | 4.6 | 1817161514 | pgtt_$v | - |
| DEB | PGDG | 4.6 | 1817161514 | postgresql-$v-pgtt | - |
安装
您可以直接安装 pgtt 扩展包的预置二进制包,首先确保 PGDG 仓库已经添加并启用:
BASH
使用 pig 或者是 apt/yum/dnf 安装扩展:
安装
BASH
pig
BASH
dnf
BASH
apt
BASH
预加载配置:
BASH
创建扩展:
SQL
用法
创建全局临时表
SQL
GLOBAL 关键字也可以作为注释使用以避免警告:
SQL
CREATE AS 形式
SQL
使用全局临时表
SQL
创建索引
SQL
约束
支持除外键以外的所有约束:
SQL
删除
SQL
配置
SQL
关键行为
- GTT 内容是会话局部的;其他会话无法看到您的数据
- 表结构是持久的(对所有用户可见),但数据是按会话的
- 需要通过
session_preload_libraries = 'pgtt'加载 - 不支持对 GTT 进行分区