暂无图片
postgreSQL有类似sql 的公共临时表吗?
我来答
分享
暂无图片 匿名用户
postgreSQL有类似sql 的公共临时表吗?

postgreSQL有类似sql 的公共临时表吗?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
陈二二🐭

的,PostgreSQL 支持类似 SQL 的公共临时表(也称为共享临时表),它们被称为 "临时视图"(Temporary Views)。公共临时表允许多个会话或用户共享它们,并且通常在一个特定的事务内被创建并使用。当事务结束时,临时表自动删除。

要创建一个公共临时表并在其中插入数据,则可以使用以下语法:

复制代码

CREATE TEMPORARY TABLE temp_table_name AS SELECT column1, column2, ... FROM source_table WHERE condition;
复制

通过此方法创建的临时表将对所有连接到数据库的用户和会话可见。如果您希望将其限制为当前会话,可以使用 SESSION 关键字:

复制代码

CREATE TEMPORARY TABLE temp_table_name (column1 datatype, column2 datatype, ...) ON COMMIT DROP AS VALUES ('value1', 'value2'), ('value3', 'value4'), ...; 需要注意的是,默认情况下,临时表在当前会话的事务结束时被删除。然而,您也可以使用 ON COMMIT PRESERVE ROWS 或 ON COMMIT DELETE ROWS 子句来指定在结束整个事务时保留还是删除临时表: ON COMMIT PRESERVE ROWS:保存临时表的行,直到结束整个事务。 ON COMMIT DELETE ROWS:在结束整个事务时删除临时表(这是默认行为)。 具体使用哪种还要根据实际需求来决定。
复制
暂无图片 评论
暂无图片 有用 0
打赏 0
陈二二🐭

看下是否帮助到你

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
postgreSQL 中两个分组,如何分组?
回答 1
大佬的题目仿佛没发全哈。
plperlu 插件安装需要哪些包
回答 1
在CentOS7.9上为PostgreSQL12.6安装plperlu插件,需先满足依赖条件,若直接创建扩展提示控制文件缺失,可按以下步骤处理:1.安装依赖包执行以下命令安装Perl开发包及Postg
周日dba们加班不?
回答 1
已采纳
加,dba天天加
postgresql 存过重载怎么批量拿到存过的定义?
回答 1
使用pgdump参考section选项
pg中备库发给主库的信息中,已经写入的最新的wal数据和已经刷新的最新的wal数据,有啥区别?
回答 3
writelocation:表示WAL日志已经写入内存的位置,这些日志记录可能还未持久化到磁盘。flushlocation:表示WAL日志已经刷入磁盘的位置,这些日志记录已经持久化,确保数据不会丢失。
pg中的表锁和行锁,再系统表中,如何区分的?
回答 1
系统视图pglocks系统函数pglockstatus印象中好像没有系统表区分的话你可以看有一个列modepostgresselectlocktype,relname,modefrompglocks,
postgresql怎么查询每天归档的日志量,有什么方便的sql吗?
回答 2
用pgstatfile去分析下wal日志目录,例如:withtmpfileas(selecttochar(datetrunc('day',(pgstatfile(file)).modification
PG:在列上创建索引后,仍使用顺序扫描,怎么才能绕过?
回答 1
已采纳
要看表结构和索引的列的区分度。如果区分度较好。比如你是唯一的,那么不会出现你说的情况。所以要看实际情况。
pg_rman增量恢复出错了
回答 2
第一次备份全备[postgres@testdanrmanbackup]$pgrmanbackupbackupmodefullbackuppath/backup/rmanbackupINFO:copyi
postgresq中的游标定义了多个字段,如何只使用其中一个字段?
回答 1
PG不会。但mysql,sqlserver 等 游标都是FETCH 到具体变量中。你要用哪个字段就用字段对应的fetch变量就行了。