私は非常にグーグルグーグルであり、かなり読書力がありますが、このスクリプトがpostgres/postgisボックスの複数のスレッドで動作するかどうかは分かりません。ここでは、コードです:だからPostgreSQL Temp Tableの有効範囲は何ですか?
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から呼び出された複数のクライアント、でこれを実行する場合、のgeomの一時テーブルの問題を引き起こすの範囲だろうか?もしそうなら、PostGresでこれを解決するためのアイデアが役に立ちます。
感謝のPostgreSQL(またはPostgresの)中
おかげでクリス...私は "コミットドロップDDLの"ので、 "コミット"は、呼び出しが完了した時にテンションテーブルが落とされたと考えて...私はあなたのことを聞いて安全です。 – markg
途中でコミットすると、実際のコミットを意味します。 'commit'を呼び出す前に' begin'を使って関数を2回実行すると失敗します。同じクエリで何とか2回呼び出された場合と同じです。 –