最近老板又来了一个新需求,需要写一个函数动态返回一个临时视图(即视图的名字和结构都不确定),研究后发现没办法这样做,只能退而求其次,用函数创建一个临时视图,结果还是不出意外的遇到一些坑。
1、Postgresql 临时表,临时视图的会话隔离性
Postgresql 中的临时表、临时视图具有会话隔离性,而我一开始以为是事务隔离的,结果收获了一大堆视图已存在的报错。同一个会话中能看到之前定义的临时表、临时视图,以及临时表中的数据,会话退出后都随之消失。
2、强制临时表随事务消失
创建临时表时加上on commit drop,即可让临时表在事务结束后自动删除。但此方法不能用于临时视图!!!
网友评论