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 7230 게시물 읽기
No. 7230
db connect시에..
작성자
영광
작성일
2007-09-28 16:20
조회수
5,511

안녕하세요
파이썬에 postgresql을 연동해서 쓰고 있는 사람입니다.
파이썬 소스에서 디비를 연결하는 부분을 아래와 같이 try except 처리하여
  try:
   self.m_cnn = pgdb.connect(database='aaa',host=localhost,user='aaa',password='aaa')
  except:
     try:
       self.m_cnn = defaultDB.m_cnn
       self.m_mutex = defaultDB.m_cnn
       print 'error connect => connect my holic_log DB'
       sleep(0.1)
     except:
       print 'error connect', sys.exc_type, sys.exc_value
       self.m_cnn = None

 처음 연결이 안되면 다른 디비쪽으로 연결이 되게 프로그래밍 했습니다.
그런데 문제는 처음 연결시 만약 연결이 안될 경우에는 처음 연결을 계속 하려고
시도 하는거 같습니다.
 self.m_cnn = pgdb.connect(database='aaa',host=localhost,user='aaa',password='aaa')
위 부분입니다.(위 부분에서 시간을 잡아먹습니다.)
프로그램 초기화 부분이라 그나마 윈도우에서는 한 10~20초 정도 사이에 다른 연결을 접속하는데
리눅스에서 돌릴 경우 1분이상이 걸리는 문제가 있더군요.

그래서 여태까지 파이썬쪽을 뒤져봤는데 없다는 결론이 나서 혹시나 postgresql의 모듈부분에서
접근하는 방법이 있나 하고 물어봅니다..
혹시 아시는 분 있으면 죄송하지만 한수 좀 부탁드립니다.

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

접속 타임 아웃 문제는 DB와 클라이언트의 문제 보다는 OS 자체의 특정 호스트 특정 포트 접속에 대한 예외처를 어떻게 하는가에 대한 문제가 더 큽니다. 


일단 OS에 상관 없이 접속 실패했다는 것을 빨리 얻고자 한다면, 접속할 호스트 이름을 IP로 사용하면 호스트 이름을 IP로 바꾸는 일을 OS차원에서 하지 않아서 빠를겝니다. 


그것 외에는 다른 방법이 없습니다.

김상기(ioseph)님이 2007-10-02 01:32에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
7234트리거 만들어서 해봤는데..이상해요.. [3]
김명구
2007-10-08
5557
7233pgsql에서 특정 쿼리문에 대한 결과를 csv 파일또는 txt파일로 다이렉트로 out 가능한지요 [2]
김명구
2007-10-06
5757
7231셀렉트시 row번호 넣기 [4]
moons
2007-10-04
5573
7230db connect시에.. [1]
영광
2007-09-28
5511
7229제발 부탁드립니다..해결 방법좀 알려주세요 [1]
조진우
2007-09-26
5306
7228서버추가방법 갈켜줄사람 [1]
ㅁㅁ
2007-09-21
4942
7227postgresql-8.2.5-1.zip 파일을 다시다운받아서
초보
2007-09-21
5142
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.016초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다