나는 꽤 검색 좀, 나는 꽤 괜찮은 독해력을 가지고 있지만,이 스크립트 내 포스트 그레스/PostGIS와 상자에 여러 스레드에서 작동하는지 이해가되지 않습니다. 여기 코드는 다음과 같습니다PostgreSQL 임시 테이블의 범위는 무엇입니까?
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$
그래서, 자바에서 호출 한 개 이상의 클라이언트에서이를 실행하면됩니다 기하 구조의 임시 테이블 원인 문제의 범위? 그렇다면 PostGres에서이 문제를 해결하기위한 아이디어가 도움이 될 것입니다.
감사의 PostgreSQL (또는 포스트 그레스)에서
감사의 의미 (에 당신이 떨어지고 커밋) ...하지만 나는 당신 말을 듣는다. – markg
그런데 커밋하는 커밋 실제 의미한다. 당신은'begin'을 사용하고 두 번 기능을 실행하면, 호출하기 전에'가 실패합니다 commit'. 동일한 쿼리에서 어떻게 든 두 번 호출되는 경우에도 마찬가지입니다. –