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 7147 게시물 읽기
No. 7147
트랜잭션 프로세스 죽이기?....
작성자
moons
작성일
2007-05-29 16:20
조회수
5,123

리눅스+postgre+자바로 운영되는 어플리케이션에서 버그가 났습니다.

   자바 어플리케이션에서  트랜잭션을 시작하고나서 롤백이나, 커밋없이, 그냥 세션을 닫아버렸고,

그 트랜잭션의 프로세스가 남아 있던 상태 였습니다.

    트랜잭션이 남아 있는 상태에서 매일 백업을 위해 vacumn을 하면 Access Exclusive Lock 가 걸려서 관련 테이블에 엑세스 하는 족족 멎어 버렸습니다.

   급한 불을 끄기 위해 kill 을 사용해서 지웠습니다만, (지금은 어플리케이션을 수정해 문제가 없습니다만,..)

   kill 프로세스를 하니 어플리케이션 전부를(세개의 어플리케이션이 돌아가고 있습니다.) 재 기동 하지 않으면 안되더군요.

      

제가 알고 싶은 부분은   kill 프로세스 로 하면 전체의 어플리케이션 을 재시작하지 않으면 안되는데

   그렇게 하지않고 현재 트랜잭션의 프로세스만 죽이고 싶을때 어떻게 할가 하는것입니다.

(물론 재시작 없이 말이죠..)

      postgre의 명령어나 쉘 명령어 아무거나 좋습니다. 알려주시면 감사하겠습니다.

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

해당 프로세스를 죽이지는 못하고, 

그 프로세스에서 하는 작업을 강제로 중지시킬 수는 있습니다. 

그방법 뿐인듯하더군요. 


select pg_cancel_backend(pid);

김상기(ioseph)님이 2007-05-29 17:11에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7153디스크 용량이 많이 남아 있는데...Hint: Perhaps out of disk space? [2]
김승일
2007-06-06
5889
7152[질문]동시접속에 대해서... [1]
이기자
2007-06-05
5166
7151테이블을 메모리에 생성할 수 없나요 ? [6]
김정주
2007-06-04
4765
7147트랜잭션 프로세스 죽이기?.... [1]
moons
2007-05-29
5123
71467.1.1버전에서 vacuumdb할 경우 락 안걸리나요?
dba
2007-05-25
4138
7145게시판 페이지 선택시 보여주는것처럼... [5]
이기자
2007-05-24
4867
7144쿼리 검색시 limit를 사용해도 속도는 같은지요? [1]
dba
2007-05-24
4831
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.026초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다