plpgsql – PostgreSQL临时表的范围是什么?

plpgsql – PostgreSQL临时表的范围是什么?,第1张

概述我已经google了很多,我有相当不错的阅读理解,但我不明白这个脚本是否可以在我的postgres / postgis框中的多个线程中工作.这是代码: Do$do$DECLARE x RECORD; b int; begin create temp table geoms (id serial, geom geometry) on commit d 我已经Google了很多,我有相当不错的阅读理解,但我不明白这个脚本是否可以在我的postgres / postgis框中的多个线程中工作.这是代码:
Do$do$DECLARE    x RECORD;    b int;           begin    create temp table geoms (ID serial,geom geometry) on commit drop;    for x in select ID,geom from asdf loop           truncate table geoms;        insert into geoms (geom) select someGeomfIEld from sometable where st_intersects(somegeomfIEld,x.geom);        ----do something with the records in geoms here...and insert that data somewhere else    end loop;end;$do$

那么,如果我在多个客户端(从Java调用)中运行它,那么geoms临时表的范围会导致问题吗?如果是这样,在PostGres中解决这个问题的任何想法都会有所帮助.

谢谢

你将遇到一个微妙的陷阱,这就是为什么我还没准备好宣布它“安全”的原因是范围是每个会话,但是人们常常忘记丢弃表(因此它们会断开连接).

我认为如果你在完成它之后不需要你的函数后显式删除临时表,你会好得多.这将防止因尝试在同一事务中运行该函数两次而产生的问题. (在提交时你正在放弃)

总结

以上是内存溢出为你收集整理的plpgsql – PostgreSQL临时表的范围是什么?全部内容,希望文章能够帮你解决plpgsql – PostgreSQL临时表的范围是什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1181937.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-02
下一篇 2022-06-02

发表评论

登录后才能评论

评论列表(0条)

保存