暂无图片
PostgreSQL全局临时表插件pgtt的使用
最近更新:2022-03-11 14:21:05

参考 https://github.com/darold/pgtt

前言

PostgreSQL目前到最新12版本只支持本地临时表不支持全局临时表特性 ,会话退出后临时表定义和数据被删除,创建临时表语法如下:

CREATE [ [ GLOBAL | LOCAL ] { TEMPORARY | TEMP } | UNLOGGED ] TABLE [ IF NOT EXISTS ] table_name ( [
  { column_name data_type [ COLLATE collation ] [ column_constraint [ ... ] ]
    | table_constraint
    | LIKE source_table [ like_option ... ] }
    [, ... ]
] )
[ INHERITS ( parent_table [, ... ] ) ]
[ PARTITION BY { RANGE | LIST | HASH } ( { column_name | ( expression ) } [ COLLATE collation ] [ opclass ] [, ... ] ) ]
[ USING method ]
[ WITH ( storage_parameter [= value] [, ... ] ) | WITHOUT OIDS ]
[ ON COMMIT { PRESERVE ROWS | DELETE ROWS | DROP } ]
[ TABLESPACE tablespace_name ]

虽然语法上支持GLOBAL,但GLOBAL与LOCAL并没有区别。

1.全局临时表插件pgtt安装

$ wget https://codeload.github.com/darold/pgtt/tar.gz/v2.1
$ tar -xvf v2.1
$ cd pgtt-2.1/
$ which pg_config
/opt/pgsql/bin/pg_config
$ make
$ make install

$ ll /opt/pgsql/share/postgresql/extension/pgtt*
......