如何在 Postgresql 上的事务之间共享临时表?

问题描述 投票:0回答:1

如何在 Postgresql 上的事务之间共享临时表?

sql database postgresql
1个回答
0
投票

如果您正在考虑可供多个用户、客户端、工作人员、会话使用的临时表,那么您正在考虑的是

unlogged
:

create unlogged table t1(id int);

在性能和可靠性方面,它是相同的,但与

temporary
表不同,它具有全局范围,并且不会在事务之间被擦除或删除。请注意,它也无法在数据库崩溃/重新启动后幸存,与
temp
相同。

如果您确实指的是一个

temp
表,其范围仅限于单个会话的独占“pg_temp”模式,但在事务之间仍然存在,则
on commit
子句可让您指定该行为,正如@Luuk 已经指出的那样。

© www.soinside.com 2019 - 2024. All rights reserved.