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 9937 게시물 읽기
No. 9937
pgAdmin4 에서 에러메세지가 제대로 안뜨네요..
작성자
pgadminwhat
작성일
2018-02-05 18:25:28
조회수
1,138

pgAdmin4 에서 쿼리툴을 사용했을때 

쿼리 실행이 실패했을때 에러메시지가 다음과같이 나옵니다.

 

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

<title>500 Internal Server Error</title>

<h1>Internal Server Error</h1>

<p>The server encountered an internal error and was unable to complete your request.  Either the server is overloaded or there is an error in the application.</p>

 

이거 어떻게 해결해야할까요..ㅠㅠ

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

특정 쿼리만 그런건가요

아니면 일부 쿼리에서만 그런건가요

pgadmin4는 물론 최신으로 설치하셨겠지만..

단순히 실패에 대한 것외에 추가정보를 주세요

김주왕(kimjuking)님이 2018-02-06 09:23:21에 작성한 댓글입니다.

pgAdmin4 이 한국어 환경에 많이 미흡합니다. 

기본 내장된 가상환경이 python 2.7 기반인데, 이 놈이 unicode 처리가 그렇게 깔끔하지 않은 것에 기인합니다. 

문제점 보고가 되었고, 언제 수정이 반영될지는 모르겠습니다. 

제가 보기에는 기본 python 가상환경을 기본을 3.x 로 바꾸고 아에, 2.x 버전을 지원하지 않는다고 하는 것이 개발방향에 더 맞아보이기는 하지만, 뭐, .....

소스를 구해서, python 3.x 기반으로 바꾸면 사용하면 좀 낫긴한데, 일단 급한 대로 쓸 거라면, 

 

해당 설치된 소스에서 

...../pgadmin/utils/driver/psycopg2/__init__.py

 

파일을 찾아서, 

Connection 클래스의 _formatted_exception_msg 함수 안에서 

format 작업 전에 그냥 errmsg 를 return 하면 됩니다. 

이 부분입니다. 

        if exception_obj.pgerror:
            errmsg = exception_obj.pgerror
        elif exception_obj.diag.message_detail:
            errmsg = exception_obj.diag.message_detail
        else:
            errmsg = str(exception_obj)
        # errmsg might contains encoded value, lets decode it
        errmsg = self.decode_to_utf8(errmsg)
 
       return errmsg
 
        # if formatted_msg is false then return from the function
        if not formatted_msg:
            return errmsg
 

 

김상기(ioseph)님이 2018-02-06 11:05:52에 작성한 댓글입니다.

일단 제 환경은 윈도우인데 비슷한 환경에서

 

.C:\Program Files (x86)\pgAdmin 4\v2\web\pgadmin\utils\driver\psycopg2\_init__.py

 

이파일을 수정했는데 

 

the application server could not be contacted

 

해당 문구와 함께 프로그램이 실행이 안되네요.ㅠㅠ

pgadminwhat님이 2018-02-07 08:22:05에 작성한 댓글입니다. Edit

 python 코드는 들여쓰기가 엄격합니다. 

줄을 잘 맞추셔야해요. 

코드가 아마 공백 문자로 들여쓰기를 했으니, 

새 return 코드도 공백 문자로 줄 맞추셔야할겝니다. 

 

김상기(ioseph)님이 2018-02-07 19:00:46에 작성한 댓글입니다.

 음. 공백도 동일하게 했었는데 .. 안되네요.

 

이게 한글로 에러메시지를 뱉을려고 하다 이렇게 되는거같은데

 

디비 기본언어를 UTF8로 설정한거같은데 왜 이렇게 될까요.. 한글로 안나와도되는데..

pgadminwhat님이 2018-02-08 08:52:33에 작성한 댓글입니다. Edit

 retrun errmsg 추가부분을 아래에 있는

if not formatted_msg:

 return errmsg

else:

 return errmsg

 

이렇게 변경해서 수정하니 동작되고 에러메세지 출력되네요. 참고하세요!

test님이 2018-02-28 08:49:57에 작성한 댓글입니다. Edit
[Top]
No.
제목
작성자
작성일
조회
9940형변환 오류 질문있습니다. [1]
오정현
2018-02-09
903
9939template0 vacuum [4]
왕왕왕초보
2018-02-08
837
9938libpq? libpq-fe? [1]
libpq
2018-02-08
748
9937pgAdmin4 에서 에러메세지가 제대로 안뜨네요.. [6]
pgadminwhat
2018-02-05
1138
9936Insert가 PK로 인해 실패시 작업 질문입니다. [1]
ttttttt
2018-02-02
763
9935Table 의 Tablespace 변경 [1]
검콤이
2018-02-02
805
9934새 버전 업데이트마다 요약정리해놓은 사이트없을까요? [1]
test
2018-02-01
765
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2018 DSN, All rights reserved.
작업시간: 0.080초, 이곳 서비스는
	PostgreSQL v10.4로 자료를 관리합니다