롤 토토 : 문서 : 9.5 : 롤 토토 | |||
---|---|---|---|
PostgreSQL : 문서 : 9.5 : LIBPQ -C 토토 | PostgreSQL : 문서 : 9.5 : LIBPQ -C 토토 | 31 장.libpq-C 라이브러리 | PostgreSQL : 문서 : 9.5 : 사설 토토 상태 기능 |
다음 기능은 a를 와이즈 토토하는 것을 다룹니다.postgresql백엔드 서버. 응용 프로그램 프로그램에는 한 번에 몇 가지 백엔드 와이즈 토토이 열릴 수 있습니다. (그렇게해야 할 이유 중 하나는 둘 이상의 데이터베이스에 액세스하는 것입니다.) 각 와이즈 토토은 A로 표시됩니다.pgconn객체. 함수에서 얻은PQCONNECTDB
, PQCONNECTDBPARAMS
또는pqsetdblogin
. 이러한 기능은 아마도 널이 아닌 객체 포인터를 항상 반환 할 것입니다. 아마도 메모리가 너무 적지 않는 한pgconn개체. 그만큼pqstatus
함수는 와이즈 토토 객체를 통해 쿼리가 전송되기 전에 성공적인 와이즈 토토에 대한 리턴 값을 확인하기 위해 호출되어야합니다.
경고 |
신뢰할 수없는 사용자가 채택되지 않은 데이터베이스에 액세스 할 수있는 경우보안 스키마 사용 패턴, 공개적으로 쓰레기 스키마를 제거하여 각 세션을 시작하십시오search_path. 하나는 매개 변수 키워드를 설정할 수 있습니다옵션value-CSEARCH_PATH =. 또는 발행 할 수 있습니다pqExec (conn, "pg_catalog.set_config ( 'search_path', '', false)" 선택와이즈 토토 후. 이 고려 사항은libpq; 임의의 SQL 명령을 실행하기 위해 모든 인터페이스에 적용됩니다. |
경고 |
UNIX에서 열린 LIBPQ 와이즈 토토로 프로세스를 포킹하면 부모 및 자식 프로세스가 동일한 소켓 및 운영 체제 리소스를 공유하기 때문에 예측할 수없는 결과를 초래할 수 있습니다. 이러한 이유로, 그러한 사용은 권장되지 않지만 |
PQCONNECTDBPARAMS
데이터베이스 서버에 새로운 와이즈 토토을합니다.
pgconn *pqconnectdbparams (const char *const *키워드, const char * const * 값, int expand_dbname);
이 기능은 2에서 가져온 매개 변수를 사용하여 새 데이터베이스 와이즈 토토을 엽니 다.null-종결 배열. 첫 번째,키워드, 각 문자열 배열로 정의되며 각각은 핵심 단어입니다. 두 번째,값, 각 키 단어의 값을 제공합니다. 같지 않은pqsetdblogin
아래에서는 기능 서명을 변경하지 않고 매개 변수 세트를 확장 할 수 있으므로이 기능 (또는 비 차단 아날로그 사용PQConnectStartParams
andPQConnectPoll
) 새 응용 프로그램 프로그래밍에 선호됩니다.
현재 인식 된 매개 변수 키워드는에 나열되어 있습니다.섹션 31.1.2.
전달 된 배열은 모든 기본 매개 변수를 사용하기 위해 비어 있거나 하나 이상의 매개 변수 설정을 포함 할 수 있습니다. 길이가 일치해야합니다. 처리가 첫 번째로 중지됩니다NULL입력키워드배열. 또한값비와 관련된 입력NULL 키워드Entry isNULL또는 빈 문자열, 해당 항목이 무시되고 다음 배열 항목 쌍으로 처리됩니다.
언제expand_dbname는 0이 아니며 첫 번째 값dbname키워드가 확인되어 A와이즈 토토 문자열. 그렇다면"확장"문자열에서 추출한 개별 연결 매개 변수로. 값은 동일한 부호를 포함하는 경우 데이터베이스 이름이 아닌 와이즈 토토 문자열로 간주됩니다 (=) 또는 URI 체계 지정자로 시작합니다. (와이즈 토토 문자열 형식에 대한 자세한 내용은섹션 31.1.1.) 첫 번째 발생dbname이런 식으로 처리됩니다. 모든 후속dbname매개 변수는 일반 데이터베이스 이름으로 처리됩니다.
일반적으로 매개 변수 배열은 처음부터 끝까지 처리됩니다. 키워드가 반복되면 마지막 값 (그렇지 않습니다NULL또는 빈)가 사용됩니다. 이 규칙은 특히 와이즈 토토 문자열에서 발견 된 핵심 단어가에 나타나는 것과 충돌 할 때 적용됩니다.키워드배열. 따라서 프로그래머는 와이즈 토토 문자열에서 가져온 값에 의해 배열 항목이 재정의 할 수 있는지 또는 재정의 할 수 있는지 결정할 수 있습니다. 확장 전에 나타나는 배열 항목dbnameConnection String의 필드에 의해 입력을 무효화 할 수 있으며, 그 결과 그 필드는 이후에 나타나는 배열 항목에 의해 무시됩니다.dbname(그러나 그 항목이 비어 있지 않은 값을 공급하는 경우에만 다시)
모든 배열 항목과 확장 된 와이즈 토토 문자열을 처리 한 후에는 UNSET를 유지하는 연결 매개 변수는 기본값으로 채워집니다. UNSET 매개 변수의 해당 환경 변수 인 경우 (참조PostgreSQL : 문서 : 9.5 : 환경 롤 토토) 설정되어 값이 사용됩니다. 환경 변수가 설정되지 않으면 매개 변수의 내장 기본값이 사용됩니다.
PQCONNECTDB
데이터베이스 서버에 새로운 와이즈 토토을합니다.
pgconn *pqconnectdb (const char *conninfo);
이 기능은 문자열에서 가져온 매개 변수를 사용하여 새 데이터베이스 와이즈 토토을 엽니 다Conninfo.
전달 된 문자열은 모든 기본 매개 변수를 사용하기 위해 비어 있거나 Whitespace로 분리 된 하나 이상의 매개 변수 설정을 포함하거나 A를 포함 할 수 있습니다.uri. 보다섹션 31.1.1자세한 내용.
pqsetdblogin
데이터베이스 서버에 새로운 와이즈 토토을합니다.
pgconn *pqsetdblogin (const char *pghost, const char *pgport, const char *pgoptions, const char *pgtty, const char *dbname, const char *로그인, const char *pwd);
이것은의 전임자입니다.PQCONNECTDB
고정 된 매개 변수 세트가 있습니다. 누락 된 매개 변수가 항상 기본값을 사용한다는 점을 제외하고는 동일한 기능이 있습니다. 쓰다NULL또는 기본적으로 고정 될 고정 된 매개 변수 중 하나에 대한 빈 문자열.
dbname포함=서명 또는 유효한 연결uriPrefix, A로 간주됩니다.Conninfo통과 된 것과 정확히 같은 방식으로 문자열pqconnectdb
, 나머지 매개 변수는 지정된대로 적용됩니다.PQCONNECTDBPARAMS
.
PQSETDB
데이터베이스 서버에 새로운 와이즈 토토을합니다.
pgconn *pqsetdb (char *pghost, char *pgport, char *pgoptions, char *pgtty, char *dbname);
이것은 호출하는 매크로입니다pqsetdblogin
로그인andPWD매개 변수. 아주 오래된 프로그램과의 역 호환성을 위해 제공됩니다.
PQConnectStartParams
PQConnectStart
PQConnectPoll
블로킹하지 않은 방식으로 데이터베이스 서버에 와이즈 토토합니다.
pgconn *pqconnectstartparams (const char *const *키워드, const char * const * 값, int expand_dbname); pgconn *pqconnectstart (const char *conninfo); postgrespollingstatustype pqconnectpoll (pgconn *conn);
이 세 가지 함수는 데이터베이스 서버에 와이즈 토토을 열어 응용 프로그램의 실행 스레드가 원격 I/O에서 차단되지 않도록 사용됩니다. 이 접근법의 요점은 I/O가 완료 될 대기가 응용 프로그램의 기본 루프에서 내부가 아닌 내부가 아닌 내부에서 발생할 수 있다는 것입니다.PQCONNECTDBPARAMS
또는PQCONNECTDB
, 따라서 응용 프로그램은 다른 활동과 병렬 로이 작업을 관리 할 수 있습니다.
withPQConnectStartParams
, 데이터베이스 와이즈 토토은에서 가져온 매개 변수를 사용하여 이루어집니다.키워드and값배열 및 제어expand_dbname, 위에서 설명한대로PQCONNECTDBPARAMS
.
withPQConnectStart
, 데이터베이스 와이즈 토토은 문자열에서 가져온 매개 변수를 사용하여 만들어집니다Conninfo위에서 설명한대로PQCONNECTDB
.
아니PQConnectStartParams
NORPQConnectStart
NORpqconnectpoll
여러 제한 사항이 충족되는 한 차단됩니다.
thehostaddrand호스트매개 변수는 이름과 리버스 이름 쿼리가 만들어지지 않도록 적절하게 사용됩니다. 이 매개 변수의 문서를 참조하십시오섹션 31.1.2자세한 내용.
전화하면pqtrace
, 추적하는 스트림 객체가 차단되지 않도록하십시오.
전화하기 전에 소켓이 적절한 상태인지 확인pqconnectpoll
, 아래 설명 된대로.
참고 : 사용PQConnectStartParams
와 유사합니다PQConnectStart
아래 표시.
비 차단 와이즈 토토 요청을 시작하려면 전화conn = pqConnectStart ( "Connection_info_string"). 만약에connlibpq새로운 것을 할당 할 수 없었습니다pgconn구조. 그렇지 않으면 유효한pgconn포인터가 반환되었습니다 (아직 데이터베이스에 대한 유효한 와이즈 토토을 나타내지는 않지만). 에서 돌아온시PQConnectStart
, Call상태 = pqstatus (conn). 만약에상태EqualsConnection_Bad, PQConnectStart
실패했습니다.
ifPQConnectStart
성공, 다음 단계는 투표하는 것입니다libpq와이즈 토토 순서를 진행할 수 있도록. 사용pqsocket (conn)
데이터베이스 연결 기본 소켓의 설명자를 얻으려면. 따라서 루프 : ifpqconnectpoll (conn)
마지막 반품pgres_polling_reading, 소켓이 읽을 준비가 될 때까지 기다리십시오 (select ()
, poll ()
또는 유사한 시스템 기능). 그런 다음 호출pqconnectpoll (conn)
다시. 반대로, ifpqconnectpoll (conn)
마지막 반품pgres_polling_writing, 소켓이 쓸 준비가 될 때까지 기다렸다가 전화pqconnectpoll (conn)
다시. 아직 전화하지 않은 경우PQConnectPoll
, 즉 호출 직후PQConnectStart
, 마지막으로 반환 된 것처럼 행동pgres_polling_writing. 이 루프를 계속할 때까지PQConnectPoll (Conn)
반환pgres_polling_failed, 와이즈 토토 절차가 실패했음을 나타내거나pgres_polling_ok, 와이즈 토토이 성공적으로 이루어 졌음을 나타냅니다.
연결하는 동안 언제든지 연결 상태를 호출하여 확인할 수 있습니다PQSTATUS
. 이 호출이 반환되는 경우Connection_Bad, 연결 절차가 실패했습니다. 통화가 반환되는 경우Connection_ok
, 그러면 연결이 준비되었습니다. 이 두 상태는의 반환 값에서 똑같이 감지 할 수 있습니다.PQConnectPoll
, 위에서 설명합니다. 다른 상태는 또한 비동기 연결 절차 중에 발생할 수 있습니다. 이는 연결 절차의 현재 단계를 나타내며 예를 들어 사용자에게 피드백을 제공하는 데 유용 할 수 있습니다. 이 상태는 다음과 같습니다.
이러한 상수는 비록 (호환성을 유지하기 위해) 유지되지만, 응용 프로그램은 특정 순서 또는 전혀, 또는 상태가 항상 문서화 된 값 중 하나 인 상태에 의존해서는 안됩니다. 응용 프로그램은 다음과 같은 일을 할 수 있습니다.
스위치 (pqstatus (conn)) Case Connection_Started : 피드백 = "연결 ..."; 부서지다; Case Connection_Made : 피드백 = "서버에 연결되어 ..."; 부서지다; . . . 기본: 피드백 = "연결 ...";
theConnect_Timeout사용 할 때 와이즈 토토 매개 변수가 무시됩니다pqconnectpoll
; 과도한 시간이 경과했는지 여부를 결정하는 것은 응용 프로그램의 책임입니다. 그렇지 않으면,PQConnectStart
뒤 따르는pqconnectpoll
루프는와 같습니다.PQCONNECTDB
.
ifPQConnectStart
널이 아닌 포인터를 반환하면 전화해야합니다pqfinish
구조와 관련 메모리 블록을 처리하기 위해 완료되면. 와이즈 토토 시도가 실패하거나 포기하더라도 수행해야합니다.
pqconndefaults
기본 연결 옵션을 반환합니다.
pqconninfooption *pqconndefaults (void); typedef struct char *키워드; / * 옵션 키워드 */ char *envvar; / * 폴백 환경 변수 이름 */ char *편집; / * 기본값으로 컴파일 된 폴백 */ char *val; / * 옵션의 현재 값 또는 null */ 숯 *레이블; / * 연결 대화 상자에서 필드에 대한 레이블 */ char *dispchar; /*이 필드를 표시하는 방법을 나타냅니다 연결 대화 상자에서. 값은 다음과 같습니다. ""디스플레이가 그대로 입력되었습니다 "*"비밀번호 필드 - 값 숨기기 "D"디버그 옵션 - 기본적으로 표시하지 마십시오 */ int dispsize; / * 대화 상자의 문자의 필드 크기 */ pqconninfooption;
연결 옵션 배열을 반환합니다. 이것은 가능한 모든 것을 결정하는 데 사용할 수 있습니다PQCONNECTDB
옵션 및 현재 기본값. 반환 값은 배열을 가리 킵니다pqconninfooption구조.키워드포인터. 메모리를 할당 할 수없는 경우 널 포인터가 반환됩니다. 현재 기본값 값 (val필드)는 환경 변수 및 기타 컨텍스트에 따라 다릅니다. 누락되거나 잘못된 서비스 파일은 조용히 무시됩니다. 발신자는 연결 옵션 데이터를 읽기 전용으로 처리해야합니다.
옵션 배열을 처리 한 후 옵션을 전달하여PQCONNINFOFREE
. 이 작업이 완료되지 않으면 각 호출마다 소량의 메모리가 유출됩니다pqconndefaults
.
PQCONNINFO
라이브 연결이 사용하는 연결 옵션을 반환합니다.
pqconninfooption *pqconninfo (pgconn *conn);
연결 옵션 배열을 반환합니다. 이것은 가능한 모든 것을 결정하는 데 사용할 수 있습니다PQCONNECTDB
옵션 및 서버에 연결하는 데 사용 된 값. 반환 값은 배열을 가리 킵니다pqconninfooption구조.키워드포인터. 위의 모든 노트pqconndefaults
또한 결과에 적용PQCONNINFO
.
PQCONNINFOPARSE
제공된 와이즈 토토 문자열에서 구문 분석 옵션을 반환합니다.
pqconninfooption *pqconninfoparse (const char *conninfo, char ** errmsg);
와이즈 토토 문자열을 구문 분석하고 결과 옵션을 배열로 반환합니다. 또는 반환NULL와이즈 토토 문자열에 문제가있는 경우. 이 기능은를 추출하는 데 사용될 수 있습니다.PQCONNECTDB
제공된 와이즈 토토 문자열의 옵션. 반환 값은 배열을 가리 킵니다pqconninfooption구조.키워드포인터.
모든 법적 옵션이 결과 배열에 존재하지만pqconninfooption와이즈 토토 문자열에 존재하지 않는 옵션의 경우val설정null; 기본값은 삽입되지 않습니다.
iferrmsgNULL,*errmsg로 설정되었습니다NULL성공에 관한 것, 그렇지 않으면Malloc
'D 오류 문자열 문제를 설명합니다. (또한 가능합니다*errmsg로 설정하려면NULL그리고 반환 할 함수NULL; 이것은 메모리 외 상태를 나타냅니다.)
옵션 배열을 처리 한 후 옵션을 전달하여PQCONNINFOFREE
. 이 작업이 완료되지 않으면 각 호출마다 일부 메모리가 유출됩니다PQCONNINFOPARSE
. 반대로 오류가 발생하면errmsgNULL,를 사용하여 오류 문자열을 제거하십시오PQFREEMEM
.
pqfinish
서버 와이즈 토토을 닫습니다. 또한에 사용 된 메모리를 해방합니다.pgconn개체.
void pqfinish (pgconn *conn);
서버 와이즈 토토 시도가 실패하더라도 (PQSTATUS
), 응용 프로그램은 전화해야합니다pqfinish
pgconn개체. 그만큼pgconn포인터는 다시 사용해서는 안됩니다pqfinish
호출.
pqreset
통신 채널을 서버로 재설정합니다.
void pqreset (pgconn *conn);
이 함수는 서버에 대한 연결을 닫고 이전에 사용한 동일한 매개 변수를 사용하여 동일한 서버에 대한 새로운 연결을 다시 설정하려고 시도합니다. 작업 연결이 손실되면 오류 복구에 유용 할 수 있습니다.
PQRESETSTART
pqresetpoll
블로킹하지 않은 방식으로 통신 채널을 서버로 재설정합니다.
int pqresetstart (pgconn *conn); postgrespollingstatustype pqresetpoll (pgconn *conn);
이러한 기능은 서버에 대한 연결을 닫고 이전에 사용한 동일한 매개 변수를 사용하여 동일한 서버에 대한 새로운 연결을 다시 설정하려고 시도합니다. 작업 연결이 손실되면 오류 복구에 유용 할 수 있습니다. 그들은 다릅니다pqreset
(위) 비 블로킹 방식으로 작용한다는 점에서. 이러한 기능은와 동일한 제한을 겪습니다.PQConnectStartParams
, PQConnectStart
andPQConnectPoll
.
연결 재설정을 시작하려면 CallPQRESETSTART
. 0을 반환하면 재설정이 실패했습니다. 1을 반환하면를 사용하여 재설정을 폴링합니다PQRESETPOLL
|PQConnectPoll
.
pqpingparams
pqpingparams
서버의 상태를보고합니다. 연결 매개 변수를 동일한 연결 매개 변수와 동일하게 허용합니다.PQCONNECTDBPARAMS
, 위에서 설명합니다. 서버 상태를 얻기 위해 올바른 사용자 이름, 암호 또는 데이터베이스 이름 값을 제공 할 필요는 없습니다. 그러나 잘못된 값이 제공되면 서버는 실패한 연결 시도를 기록합니다.
pgping pqpingparams (const char * const * 키워드, const char * const * 값, int expand_dbname);
함수는 다음 값 중 하나를 반환합니다.
서버가 실행 중이며 와이즈 토토을 수락하는 것처럼 보입니다.
서버가 실행 중이지만 연결을 해제하는 상태 (시작, 종료 또는 충돌 복구)
서버에 연락 할 수 없습니다. 이는 서버가 실행되지 않았거나 주어진 와이즈 토토 매개 변수 (예 : 잘못된 포트 번호)에 문제가 있거나 네트워크 와이즈 토토 문제 (예 : 와이즈 토토 요청을 차단하는 방화벽)가 있음을 나타낼 수 있습니다..
제공된 매개 변수가 분명히 잘못되었거나 클라이언트 측 문제가 있었기 때문에 서버에 연락하려는 시도가 없었습니다..
pqping
pqping
서버의 상태를보고합니다. 연결 매개 변수를 동일한 연결 매개 변수와 동일하게 허용합니다.PQCONNECTDB
, 위에서 설명합니다. 서버 상태를 얻기 위해 올바른 사용자 이름, 암호 또는 데이터베이스 이름 값을 제공 할 필요는 없습니다. 그러나 잘못된 값이 제공되면 서버는 실패한 연결 시도를 기록합니다.
pgping pqping (const char *conninfo);
반환 값은와 동일합니다pqpingparams
.
몇libpq함수는 사용자 지정 문자열을 구문 분석하여 와이즈 토토 매개 변수를 얻습니다. 이 문자열에 대해 허용되는 두 가지 형식이 있습니다 : 일반키워드 = value문자열 및RFC 3986Uris.
첫 번째 형식에서는 각 매개 변수 설정이 양식에 있습니다keyword = value. 동일한 부호 주변의 공간은 선택 사항입니다. 빈 값 또는 공백이 포함 된 값을 작성하려면 단일 따옴표로 둘러싸여 있습니다 (예 :keyword = 'value'. 값 내의 단일 따옴표와 백 슬래시는 백 슬래시로 탈출해야합니다.\ '및\\.
예 :
host = localhost port = 5432 dbname = mydb connect_timeout = 10
인식 된 매개 변수 키워드는에 나열되어 있습니다.섹션 31.1.2.
와이즈 토토을위한 일반 양식uriIS :
postgresql : // [user [: password]@] [host] [: port] [/dbname] [? param1 = value1 & ...]
theuri체계 지정자가 될 수 있습니다postgresql : //또는Postgres : //. 나머지 각각uri부품은 선택 사항입니다. 다음 예제는 유효 함을 보여줍니다uri구문 :
postgresql : // postgresql : // localhost postgresql : // localhost : 5433 postgresql : // localhost/mydb postgresql : // user@localhost postgresql : // user : secret@localhost postgresql : // other@localhost/otherdb? connect_timeout = 10 & application_name = myapp
일반적으로 일반적으로uri대안으로 이름이 지정된 매개 변수로 제공 될 수 있습니다. 예를 들어:
postgresql : // mydb? host = localhost & port = 5433
모든 이름의 매개 변수는 나열된 키어 일치해야합니다섹션 31.1.2, JDBC 와이즈 토토과의 호환성을 제외하고uris, 인스턴스ssl = truesslmode = require.
퍼센트 인코딩은 모든 것에 특별한 의미를 가진 기호를 포함하는 데 사용될 수 있습니다uri부품.
호스트 부분은 호스트 이름 또는 IP 주소 일 수 있습니다. IPv6 주소를 지정하려면 정사각형 괄호 안에 둘러싸여 있습니다.
postgresql : // [2001 : db8 :: 1234]/database
호스트 부분은 매개 변수에 대해 설명 된대로 해석됩니다host. 특히, 호스트 부품이 비어 있거나 절대 경로 이름처럼 보이는 경우 Unix-Domain 소켓 연결이 선택됩니다. 그렇지 않으면 TCP/IP 연결이 시작됩니다. 그러나 슬래시는 URI의 계층 적 부분에서 예약 된 문자입니다. 따라서 비표준 UNIX- 도메인 소켓 디렉토리를 지정하려면 URI의 호스트 부분을 생략하고 호스트를 명명 된 매개 변수로 지정하거나 URI의 호스트 부분의 경로를 비율로 지정하십시오.
postgresql : // dbname? host =/var/lib/postgresql postgresql : //%2fvar%2flib%2fpostgresql/dbname
현재 인식 된 매개 변수 키 단어는 다음과 같습니다.
연결할 호스트 이름. 이것이 슬래시로 시작하면 TCP/IP 통신 대신 UNIX- 도메인 통신을 지정합니다. 값은 소켓 파일이 저장되는 디렉토리의 이름입니다. 기본 동작호스트지정되지 않음/tmp(또는 어떤 소켓 디렉토리가 지정되었는지PostgreSQL건축). Unix-Domain 소켓이없는 기계에서 기본값은에 와이즈 토토하는 것입니다.LocalHost.
연결할 호스트의 숫자 IP 주소. 표준 IPv4 주소 형식 (예 :이어야합니다.172.28.40.9. 컴퓨터가 IPv6을 지원하는 경우 해당 주소를 사용할 수도 있습니다. TCP/IP 통신은이 매개 변수에 비어 있지 않은 문자열이 지정 될 때 항상 사용됩니다.
사용hostaddr대신host애플리케이션이 호스트 이름 조회를 피할 수 있도록합니다. 이는 시간 제약 조건이있는 응용 프로그램에서 중요 할 수 있습니다. 그러나 GSSAPI 또는 SSPI 인증 방법 및에 호스트 이름이 필요합니다.verify-fullSSL 인증서 확인. 다음 규칙이 사용됩니다.
ifhosthostaddr, 호스트 이름 조회가 발생합니다.
ifhostaddrhost, 값hostaddr서버 네트워크 주소를 제공합니다. 인증 방법에 호스트 이름이 필요한 경우 연결 시도가 실패합니다.
둘 다host및hostaddr지정되어 있습니다.hostaddr서버 네트워크 주소를 제공합니다. 의 값host인증 메소드가 요구하지 않는 한 무시됩니다.이 경우 호스트 이름으로 사용됩니다.
인증이 실패 할 가능성이 높습니다host네트워크 주소에서 서버 이름이 아닙니다hostaddr. 또한,host보다는hostaddr연결을 식별하는 데 사용됩니다~/.pgpass(참조토토 사이트 : 문서 : 9.5 : 암호 파일).
호스트 이름 또는 호스트 주소가 없으면libpq로컬 UNIX- 도메인 소켓을 사용하여 연결합니다. 또는 Unix-Domain 소켓이없는 기계에서 연결하려고 시도합니다.LocalHost.
서버 호스트에서 연결할 포트 번호 또는 Unix-Domain 연결을위한 소켓 파일 이름 확장.
데이터베이스 이름. 기본값은 사용자 이름과 동일합니다. 특정 상황에서 값은 확장 형식에 대해 확인됩니다. 보다섹션 31.1.1그에 대한 자세한 내용은.
PostgreSQL사용자 이름을 연결할 수 있습니다. 기본값은 응용 프로그램을 실행하는 사용자의 운영 체제 이름과 동일합니다.
서버가 암호 인증을 요구하는 경우 사용할 비밀번호.
최대 연결 대기, 초 (10 진수 정수 문자열로 쓰기). 제로 또는 지정되지 않은 것은 무기한 대기를 의미합니다. 2 초 미만의 시간 초과를 사용하는 것이 좋습니다.
이것은를 설정합니다.client_encoding이 연결의 구성 매개 변수. 해당 서버 옵션으로 허용되는 값 외에도 사용할 수 있습니다auto클라이언트의 현재 로케일에서 올바른 인코딩을 결정하려면 (LC_CTYPEUNIX 시스템의 환경 변수).
Connection Start에서 서버로 보낼 명령 줄 옵션을 지정합니다. 예를 들어, 이것을 설정-C geqo = off세션의 값을 설정합니다geqo매개 변수 toOFF. 이 문자열 내의 공간은 백 슬래시로 탈출하지 않는 한 명령 줄 인수를 분리하는 것으로 간주됩니다 (\); 쓰다\\문자 그대로의 백 슬래시를 나타냅니다. 사용 가능한 옵션에 대한 자세한 설명을 보려면토토 사이트 : 문서 : 9.5 : 서버 구성.
값을 지정application_name구성 매개 변수.
Application_Name구성 매개 변수. 이 값은 값이 제공되지 않으면 사용됩니다.application_name연결 매개 변수 또는를 통해pgappname환경 변수. 폴백 이름을 지정하는 것은 기본 응용 프로그램 이름을 설정하지만 사용자가 재정의 할 수있는 일반 유틸리티 프로그램에서 유용합니다.
클라이언트 측 TCP Keepalives가 사용되는지 여부를 제어합니다. 기본값은 1이지만 의미가 있지만 0으로 변경할 수 있습니다. 이 매개 변수는 Unix-Domain 소켓을 통한 연결에 대해 무시됩니다.
TCP가 서버에 keepalive 메시지를 보내야 할 때의 비 활동 초의 초 수를 제어합니다. 0의 값은 시스템 기본값을 사용합니다. 이 매개 변수는 Unix-Domain 소켓을 통한 연결에 대해 무시되거나 Keepalives가 비활성화 된 경우에 무시됩니다. 그것은 시스템에서만 지원됩니다TCP_KEEPIDLE또는 동등한 소켓 옵션을 사용할 수 있으며 Windows에서 사용할 수 있습니다. 다른 시스템에서는 효과가 없습니다.
서버가 인정하지 않는 TCP requalive 메시지를 재전송 해야하는 다음 초 수를 제어합니다. 0의 값은 시스템 기본값을 사용합니다. 이 매개 변수는 Unix-Domain 소켓을 통한 연결에 대해 무시되거나 Keepalives가 비활성화 된 경우에 무시됩니다. 그것은 시스템에서만 지원됩니다TCP_KEEPINTVL또는 동등한 소켓 옵션을 사용할 수 있으며 Windows에서 사용할 수 있습니다. 다른 시스템에서는 효과가 없습니다.
클라이언트의 서버와의 연결이 죽은 것으로 간주되기 전에 손실 될 수있는 TCP 유지 보안의 수를 제어합니다. 0의 값은 시스템 기본값을 사용합니다. 이 매개 변수는 Unix-Domain 소켓을 통한 연결에 대해 무시되거나 Keepalives가 비활성화 된 경우에 무시됩니다. 그것은 시스템에서만 지원됩니다TCP_KEEPCNT또는 동등한 소켓 옵션을 사용할 수 있습니다. 다른 시스템에서는 효과가 없습니다.
무시했습니다 (이전에는 서버 디버그 출력을 보내는 위치를 지정했습니다).
이 옵션은 보안 우선 순위 여부를 결정합니다SSLTCP/IP 와이즈 토토은 서버와 협상됩니다. 6 가지 모드가 있습니다 :
비 만 시도해보십시오.SSLConnection
먼저 비 시도SSL와이즈 토토; 그것이 실패하면 시도해보십시오SSLConnection
첫 번째 시도SSL와이즈 토토; 실패하면 비 시도해보십시오.SSLConnection
만 시도SSL와이즈 토토. 루트 CA 파일이있는 경우 IT와 같은 방식으로 인증서를 확인하십시오.Verify-CA지정되었습니다
만 시도SSL와이즈 토토 및 신뢰할 수있는 인증서에 의해 서버 인증서가 발행되었는지 확인하십시오 (CA)
만 시도SSL와이즈 토토, 신뢰할 수있는 서버 인증서가 발행되는지 확인CA그리고 요청 된 서버 호스트 이름이 인증서에서 일치합니다
참조섹션 31.18이러한 옵션의 작동 방식에 대한 자세한 설명은
sslmodeUNIX 도메인 소켓 통신에 대해 무시됩니다. 만약에PostgreSQL옵션을 사용하여 SSL 지원없이 컴파일됩니다요구, Verify-CA또는verify-full옵션 중에 오류가 발생합니다허용and선호허용되지만libpq실제로 시도하지 않을 것입니다SSL와이즈 토토.
이 옵션은에 찬성하여 더 이상 사용되지 않습니다.sslmode설정.
1으로 설정된 경우, anSSL서버에 대한 와이즈 토토이 필요합니다 (이것은 동일합니다sslmode 요구).libpq서버가 수락하지 않으면 와이즈 토토을 거부합니다.SSL와이즈 토토. 0으로 설정된 경우 (기본값),libpq서버와 와이즈 토토 유형을 협상합니다 (동등한sslmode 선호). 이 옵션은 만 사용할 수 있습니다.PostgreSQLSSL 지원으로 컴파일됩니다.
1 (기본값)으로 설정하면 SSL 연결을 통해 전송 된 데이터가 압축됩니다 (필요합니다OpenSSL버전 0.9.8 이상). 0으로 설정하면 압축이 비활성화됩니다 (필요합니다OpenSSL1.0.0 이상). 이 매개 변수는 SSL이없는 연결이 이루어 지거나 버전 인 경우 무시됩니다.OpenSSL사용 된 것은 그것을 지원하지 않습니다.
압축은 CPU 시간을 사용하지만 네트워크가 병목 현상 인 경우 처리량을 향상시킬 수 있습니다. CPU 성능이 제한 요소 인 경우 압축을 비활성화하면 응답 시간과 처리량이 향상 될 수 있습니다.
이 매개 변수는 클라이언트 SSL 인증서의 파일 이름을 지정하여 기본값을 대체합니다~/.postgresql/postgresql.crt. 이 매개 변수는 SSL 연결이 이루어지지 않으면 무시됩니다.
이 매개 변수는 클라이언트 인증서에 사용되는 비밀 키의 위치를 지정합니다. 기본값 대신 사용될 파일 이름을 지정할 수 있습니다~/.postgresql/postgresql.key또는 외부에서 얻은 키를 지정할 수 있습니다"엔진"(엔진은OpenSSL로드 가능한 모듈). 외부 엔진 사양은 콜론 구분 된 엔진 이름과 엔진 별 키 식별자로 구성되어야합니다. 이 매개 변수는 SSL 연결이 이루어지지 않으면 무시됩니다.
이 매개 변수는 SSL 인증서를 포함하는 파일의 이름을 지정합니다 (CA) 인증서. 파일이 존재하면 서버의 인증서는이 당국 중 하나가 서명하도록 확인됩니다. 기본값은~/.postgresql/root.crt.
이 매개 변수는 SSL 인증서 취소 목록 (CRL)의 파일 이름을 지정합니다. 이 파일에 나열된 인증서가 존재하는 경우 서버의 인증서를 인증하려고 시도하면서 거부됩니다. 기본값은~/.postgresql/root.crl.
이 매개 변수는 서버의 작동 시스템 사용자 이름을 지정합니다 (예 :요구 사항 = Postgres. Unix-Domain 소켓 연결을 만들 때이 매개 변수가 설정되면 클라이언트는 연결 시작시 서버 프로세스가 지정된 사용자 이름으로 실행되는지 확인합니다. 그렇지 않은 경우 연결에 오류가 발생합니다. 이 매개 변수는 TCP/IP 연결에서 SSL 인증서와 함께 사용 가능한 것과 유사한 서버 인증을 제공하는 데 사용될 수 있습니다. (유닉스 도메인 소켓이있는 경우/tmp또는 다른 공개적으로 쓰기 가능한 위치, 모든 사용자가 서버에서 청취를 시작할 수 있습니다. 이 매개 변수를 사용하여 신뢰할 수있는 사용자가 실행하는 서버에 연결되어 있는지 확인하십시오.)이 옵션은의 플랫폼에서만 지원됩니다.피어인증 방법이 구현되었습니다. 보다섹션 19.3.6.
GSSAPI로 인증 할 때 사용할 Kerberos 서비스 이름. 이는 Kerberos 인증을 위해 서버 구성에 지정된 서비스 이름과 일치해야합니다. (참조섹션 19.3.3.)
GSSAPI 인증에 사용할 GSS 라이브러리. 현재 이는 GSSAPI 및 SSPI 지원이 모두 포함 된 Windows 빌드를 제외하고는 무시됩니다. 이 경우로 설정하십시오.GSSAPILIBPQ가 기본 SSPI 대신 인증을 위해 GSSAPI 라이브러리를 사용하게합니다.
추가 매개 변수에 사용할 서비스 이름. 에서 서비스 이름을 지정합니다pg_service.conf추가 연결 매개 변수를 보유합니다. 이를 통해 응용 프로그램은 서비스 이름 만 지정하여 연결 매개 변수를 중앙에서 유지할 수 있습니다. 보다토토 핫 : 문서 : 9.5 : 연결 서비스 파일.