pgAdmin을 사용하여 PostgreSQL 함수 디버그
pgadmin을 사용하여 코드를 단계별로 실행하여 plpgsql 함수를 디버깅하기 위해 PostgreSQL 서버에서 디버거를 활성화 하기 위해 이것을 참조 합니다 .
이미에서 설정 shared_preload_libraries = '$libdir/plugins/plugin_debugger.dll'
하고 postgresql.conf
실행 pldbgapi.sql
하고 서버를 다시 시작했습니다.
이러한 단계는 성공적으로 실행 plugin_debugger.dll
되어야하며 명령을 사용하여 확인할 수있는 것처럼 성공적으로로드되어야하며 show shared_preload_libraries
pgAdmin에서 함수를 마우스 오른쪽 버튼으로 클릭하면 컨텍스트 메뉴에서 디버깅 옵션을 볼 수 있습니다.
"디버깅"-> 디버그를 선택하면 입력 매개 변수에 대한 값을 입력 할 수있는 창이 팝업됩니다. 하지만 그 후를 누르면 OK
전혀 반응이 없습니다.
서버의 디버거 설정에서 어떤 아이디어 나 내가 놓친 것이 있습니까 ??
PostgreSQL 8.3 및 pgAdmin 1.14를 사용하고 있습니다.
두 곳에서 디버깅을 활성화해야합니다. PGAdmin 및 데이터베이스 자체에서. 당신이 참조한 그 기사는 그것을 설명하는 훌륭한 직업이지만 약간의 뉘앙스가있었습니다.
PGAdmin
postgresql.conf
디버깅 라이브러리를로드 하기 위해 파일을 업데이트 할 때 Windows에서 PGAdmin을 실행하고 있었 으므로 파일은 다음과 같습니다.
C:\Program Files\PostgreSQL\9.4\data\postgresql.conf
그리고의 경로 plugin_debugger.dll
는 실제로
$libdir/plugin_debugger.dll
아니
$libdir/plugins/plugin_debugger.dll
기사에 명시된대로. 따라서 다음 postgresql.conf
과 같은 라인이 필요합니다.
shared_preload_libraries = '$libdir/plugin_debugger.dll'
확실하지 않은 경우 실제 .dll을 검색하십시오. Linux를 사용하는 경우 찾고있는 파일은 plugin_debugger.so
. postgresql.conf
파일 을 변경 하면 변경 사항을 적용하려면 다시 시작해야 한다는 점을 잊지 마십시오 .
PostgreSQL 데이터베이스
Linux 서버에서 PostgreSQL 데이터베이스를 실행한다고 가정하면 이 요지 는 디버깅을 활성화하기 위해 종속성을 다운로드하는 방법을 설명하는 데 탁월한 역할을합니다. 설치할 때 루트로 실행 중인지 확인하십시오.
놓치기 쉬운 부분은 디버그하려는 실제 데이터베이스에 대해 명령을 실행하는 것입니다. PostgreSQL의 최신 버전의 경우 다음과 같이하면됩니다.
CREATE EXTENSION IF NOT EXISTS pldbgapi;
그래도 오류가 반환되지 않으면 가셔도 좋습니다.
몇 가지 추가 참고 사항 :
- 위에서 언급했듯이 슈퍼 사용자 계정으로 실행할 때만 디버그 할 수 있습니다.
- 에서 다음 작업을 자신의 문서 만 디버그 PL / pgSQL의 기능을 할 수 있습니다. 따라서 함수에
LANGUAGE c
PGAdmin 과 같은 내용이 표시되면 함수를 선택할 때 오른쪽 클릭 디버그 메뉴 옵션도 표시되지 않습니다. 있는 것을LANGUAGE plpgsql
찾으면 디버그 메뉴가 표시됩니다.
시야,
PgAdmin 1.14 / PostgreSQL 8.3 상호 작용 문제를 배제하기 위해 pgAdmin 1.8을 사용해 보셨습니까? 8.3을 사용한 지 오래되었고 내가 작성한 기사에 대해 언급 한 것은 1.14 / PostgreSQL 9.1로 테스트하고 있었으므로 이전 버전과의 상호 작용에 문제가 될 수 있습니다. 불행히도 더 이상 테스트 할 8.3이 없습니다.
한 번 문제가 있었던 것을 막연하게 기억하지만 pldebugger 외에도 postgresql.conf에 다른 공유 라이브러리가있을 때였습니다. 어느 것이인지 기억할 수 없지만 다른 공유 라이브러리를 제거하면 문제가 해결되었습니다.
이 제안 중 일부가 도움이되기를 바랍니다, Regina
나는 같은 문제가 있었다. postgres.conf에서로드 하는 유일한 공유 라이브러리가 디버거 인지 확인하십시오 . 다른 건 없습니다. 프로파일 러도 아닙니다. 함수를 디버그하려고 할 때 SSL 오류가 발생하면 서버에 다시 연결하십시오.
참고 URL : https://stackoverflow.com/questions/7865615/debug-postgresql-function-using-pgadmin
'Programing' 카테고리의 다른 글
프린터가 조회없이 인쇄 작업을 처리 할 수 있는지 확인 (0) | 2020.11.19 |
---|---|
Facebook에서 이메일이 확인되었는지 확인할 수 있습니까? (0) | 2020.11.19 |
Spark 코드 구성 및 모범 사례 (0) | 2020.11.19 |
HttpClient에서 압축 해제 전에 압축 된 데이터에 액세스 할 수 있습니까? (0) | 2020.11.19 |
왜 SortedSet인가 (0) | 2020.11.19 |