2013-07-03 3 views
2

PostgreSQL 8.4 및 PostGIS 1.5를 사용하고 있습니다. 내가 뭘하려는 건 하나의 테이블에서 다른 데이터를 삽입하는 것이다 (그러나 엄격하게 동일한 데이터는 아니다). 각 열에 대해 몇 개의 쿼리가 실행되고 테이블에 총 50143 개의 행이 저장됩니다. 그러나 쿼리는 리소스가 많이 소모됩니다. 쿼리를 몇 분 동안 실행 한 후에는 연결이 끊어집니다. 그 일이 21-22k MS에 대한 쿼리의 실행으로 일어난 후, 나는 수동으로 DBMS를 다시 시작해야합니다. 이 문제를 해결하려면 어떻게해야합니까? 여기에, 또한PostgreSQL에서 몇 분 동안 쿼리를 실행 한 후 연결이 끊어졌습니다.

[Err] server closed the connection unexpectedly 
    This probably means the server terminated abnormally 
    before or while processing the request. 

을 psql의 오류 로그입니다 : 다음과 같이

오류 메시지는

2013-07-03 05:33:06 AZOST HINT: In a moment you should be able to reconnect to the database and repeat your command. 
2013-07-03 05:33:06 AZOST WARNING: terminating connection because of crash of another server process 
2013-07-03 05:33:06 AZOST DETAIL: The postmaster has commanded this server process to roll back the current transaction and exit, because another server process exited abnormally and possibly corrupted shared memory. 
+0

관련 항목이 있으면 PostgreSQL 로그를 확인하십시오. –

+0

질문을 업데이트했습니다. –

+0

실제 오류의 영향 인 로그보다 더 먼 곳으로 이동하십시오. 또한'{}'(네 칸 들여 쓰기) 버튼을 사용하여 로그가 줄 바꿈되지 않도록하십시오. –

답변

0

내 생각 엔, 문제를 읽고, 메모리 문제에서 타격이다 . 오버 커밋을 해제하는 Craig의 제안은 좋은 것입니다. 큰 쿼리 인 경우 work_mem을 줄여야 할 수도 있습니다. 이로 인해 쿼리 속도가 느려지지만 메모리가 확보됩니다. work_mem은 작업 단위이므로 쿼리가이 설정을 여러 번 사용할 수 있습니다.

또 다른 가능성은 PostgreSQL의 C 언어 모듈에서 어떤 종류의 버그가 발생하고 있다는 것입니다. 이 경우 PostGIS의 최신 버전으로 업데이트하십시오.

관련 문제