database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
ㆍPostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
PostgreSQL Q&A 6299 게시물 읽기
No. 6299
statement_timeout 의 조건과 효과를 알고 싶습니다.
작성자
송효진
작성일
2005-08-30 03:02
조회수
2,137

프로그램을 잘못짠건지는 모르겠지만, postgres 프로세스가 죽지 않고 떠있는것들이 생깁니다.

문제는 이것들은 억지로 죽이기 전에는 스스로 죽지 않습니다.

이런저런 설정을 찾아보던 중

statement_timeout

을 알게 되었는데,

쿼리하지 않는 idle 시간을 재는것인지,

접속으로부터 시간을 재는것인지,

타임아웃이 되면 접속을 끊는것인지, 롤백하는것인지 알고 싶습니다.

 

하고자 하는것은 5분 이상 노는 프로세스를 종료시키는 것입니다.

이 글에 대한 댓글이 총 2건 있습니다.

statement_timeout 은 오랫동안 수행중인 쿼리를 중단시키는 역할을 합니다

statement_timeout  = 300 으로 하면 300초동안 결과를 반환하지 않는

쿼리를 중단시키는 역할을 합니다.

주의할점은 vacuum도 300초 이상걸리면 끊어버린다는 겁니다

(위 옵션 설정했다가 낭패를 당했습니다. vacuum이 중간에 그냥 쥐도새도 모르게

중단되어버리는..)

 

지금 이야기하신 기능을 쓰시겠다면

db pool에서 그 작업을 해줘야할것 같습니다.

그리고 만일 프로세스가 종료안된다면 그리고 그게 만일 웹 application이라면

웹 application 의 코드쪽을 살펴보셔야할것 같습니다.

 

jsp 라면 jsp  pool에서 connection close를 제대로 해줬는지 보시기 바랍니다.

김현만(황제펭귄)님이 2005-08-30 10:13에 작성한 댓글입니다.

통계기능을 활성화 했다면 해당 세션이 무슨일을 하고 있는지 확인해 보세요.

 

select * from pg_stat_activity

 

이렇게 하면 지금 처리하고 있는 명령과 process id를 볼 수 있습니다.

 

죽지 않는 postgresql process의 id를 ps 명령으로 확인한 다음에 여기에서 찾아보세요.

 

죽지 않는 무슨 사연이 있겠죠.

 

그리고 db connection pool을 쓰고 있다면 DB 작업이 끝나도 pool에서 connection을 안 끊고 있기 때문에 process가 죽지 않습니다.

박성철(gyumee)님이 2005-08-30 10:36에 작성한 댓글입니다.
이 댓글은 2005-08-30 10:57에 마지막으로 수정되었습니다.
[Top]
No.
제목
작성자
작성일
조회
6302쿼리 속도 향상 방법 좀 알려주세요... [4]
장창원
2005-09-01
3413
6301autovacuum과 크론으로 돌리기.. [1]
신기배
2005-08-31
2601
6300날짜쿼리를 만들고 있는데..잘 확인이 안됩니다. 꼭좀 바주세요 [3]
사랑다섯
2005-08-31
2107
6299statement_timeout 의 조건과 효과를 알고 싶습니다. [2]
송효진
2005-08-30
2137
6298sequence를 Rename하는 방법이 있나요? [4]
최정대
2005-08-30
1972
6297PostgreSQL 8.1 Enters Beta [5]
신기배
2005-08-29
3293
6294[질문]테이블 두 개를 검색할 때 [3]
박병호
2005-08-29
1846
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다