libpq
기본 PostgreSQL 클라이언트 라이브러리 인 TCP keepalives를 활성화 하는 keepalives
옵션이 있습니다 .
PgAdmin-III를 사용하면 임의의 연결 매개 변수를 직접 지정할 수 없지만 해결 방법이 있습니다.
PgAdmin-III에서 연결 구성을 보면 "서비스"옵션이 표시됩니다. 연결 서비스 파일을 나타냅니다 . 그것을 사용하려면 ~/.pg_service.conf
다음과 같은 내용 으로 with를 만드십시오 .
[myherokudb]
user=myusername
keepalives=1
connect_timeout=20
keepalives_idle=10
및 PgAdmin-III에서 접속시 입력 myherokudb
에서 service
필드.
이로 인해 PgAdmin-III은 keepalives 활성화를 포함하여 서비스 파일에 지정된 연결 매개 변수를 사용합니다.
(Windows를 사용하는 경우 서비스 파일이 다른 위치에있을 수 있습니다. 설명서를 참조하십시오).
libpq
킵 얼라이브를 제어하기위한 환경 변수는 없으므로 , 그렇게 설정할 수 없으므로 서비스 파일을 사용해야합니다.
PgAdmin-III에 추가 연결 매개 변수에 대한 지원 또는 keepalives 매개 변수를 제어하기위한 연결 옵션의 확인란을 추가하는 것은 매우 간단합니다. Dave가 작업에 자금을 제공하기 위해 귀하의 제안을 요청한 내용을 이해했는지 궁금합니다.
업데이트 : 서비스 파일이 PGSYSCONFDIR
환경 변수에 지정된 위치에서 조회됩니다 . 설정하지 않으면 기본적으로 플랫폼 별 위치로 설정되며 Windows에 대해 올바르게 문서화되지 않은 것 같습니다. 문서 패치를 제출하겠습니다. 에 대한 문서.pgpass
는 그 경로 를 보여 %APPDATA%\postgresql\pgpass.conf
주므로 ... ~/.pg_service.conf
해야 %APPDATA%\postgresql\pg_service.conf
하지만 보이지는 않습니다.
실제로 올바른 경로는 다음과 같습니다.
%APPDATA%\postgresql\.pg_service.conf
그래서:
- 시작-> 실행
- `% APPDATA %
- "postgresql"디렉토리가 없으면 작성하십시오
- 위에 주어진 내용으로 텍스트 파일로 ".pg_service.conf"파일을 생성하십시오 (파일 이름 재 지정 참고 참고)
- PgAdmin-III에서 호스트 이름에 "localhost"를 입력하고 서비스 필드에 서비스 이름을 입력하십시오.
Windows에서 테스트 한 결과 Windows host
에서 PgAdmin-III 의 필드를 비워 둘 수 없습니다 . PgAdmin-III는 서비스 파일에 지정된 호스트를 연결 대화 상자에 지정된 호스트로 재정의하는 것 같습니다. 따라서 host
서비스 파일에 키를 포함하지 않아야 합니다. (버그를보고하겠습니다).
Windows에서 "알려진 파일 형식의 파일 확장명 숨기기"가 해제되어 있으므로 실수로 .pg_service.conf.txt
대신 호출하지 마십시오 . 이름이 올바른지 확실하지 않으면 목록보기에서 Windows 탐색기의 "유형"열을 확인하십시오. 그것이 잘못이라는 않다면 "텍스트 문서"를 읽어 것 .pg_service.conf.txt
, 그리고 CONF File
그것을 제대로 이름 않다면 .pg_service.conf
. 이름을 바꾸는 데 문제가 있으면 "알려진 파일 형식의 파일 확장명 숨기기"를 끄거나 notepad ++ 와 같은 합리적인 텍스트 편집기를 사용하여 원하는 이름의 파일을 만들 수 있습니다.
파일 이름에서 선행 마침표 (점)를 확인하십시오. 그렇습니다 pgpass.conf
. 버그와는 다른 성가신 일입니다.