윈 토토 : 문서 : 9.4 : 윈 토토 | |||
---|---|---|---|
토토 커뮤니티 : 문서 : 9.4 : LIBPQ -C 라이브러리 | 토토 커뮤니티 : 문서 : 9.4 : LIBPQ -C 라이브러리 | 31 장.libpq-C 라이브러리 | PostgreSQL : 문서 : 9.4 : 토토 사이트 순위 상태 기능 |
다음 기능은 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 범퍼카 토토로 프로세스를 포킹하면 부모와 자식 프로세스가 동일한 소켓 및 운영 체제 자원을 공유하기 때문에 예측할 수없는 결과를 초래할 수 있습니다. 이러한 이유로, 그러한 사용은 권장되지 않지만 |
참고 :Windows에서는 단일 데이터베이스 연결이 반복적으로 시작되고 종료되면 성능을 향상시키는 방법이 있습니다. 내부적으로 libpq 호출
wsastartup ()
andwsacleanup ()
각각 범퍼카 토토 시작 및 종료의 경우.wsastartup ()
내부 Windows 라이브러리 참조 수를 증가시켜wsacleanup ()
. 참조 수가 단지 하나 일 때, 호출wsacleanup ()
모든 리소스를 해제하고 모든 DLL이 언로드됩니다. 이것은 비싼 작업입니다. 이를 피하기 위해 응용 프로그램은 수동으로 호출 할 수 있습니다wsastartup ()
마지막 데이터베이스 범퍼카 토토이 닫히면 리소스가 해제되지 않습니다.
PQCONNECTDBPARAMS
데이터베이스 서버에 새로운 범퍼카 토토을합니다.
pgconn *pqconnectdbparams (const char *const *키워드, const char * const * 값, int expand_dbname);
이 기능은 2에서 가져온 매개 변수를 사용하여 새 데이터베이스 범퍼카 토토을 엽니 다.NULL-종결 배열. 첫 번째,키워드는 문자열 배열로 정의되며 각각은 핵심 단어입니다. 두 번째,값, 각 키 단어의 값을 제공합니다. 같지 않은pqsetdblogin
아래에서는 기능 서명을 변경하지 않고 매개 변수 세트를 확장 할 수 있으므로이 기능 (또는 비 차단 아날로그 사용PQConnectStartParams
andpqconnectpoll
) 새 응용 프로그램 프로그래밍에 선호됩니다.
현재 인식 된 매개 변수 키워드는에 나열되어 있습니다.섹션 31.1.2.
언제expand_dbname는 0이 아닙니다.dbname키워드 값은 연결 문자열로 인식 될 수 있습니다. 의 첫 번째 사건 만dbname이런 식으로 확장됩니다.dbname값은 일반 데이터베이스 이름으로 처리됩니다. 가능한 범퍼카 토토 문자열 형식에 대한 자세한 내용은에 표시됩니다.섹션 31.1.1.
전달 된 배열은 모든 기본 매개 변수를 사용하기 위해 비어 있거나 하나 이상의 매개 변수 설정을 포함 할 수 있습니다. 길이가 일치해야합니다. 처리가 첫 번째로 중지됩니다NULL요소키워드배열.
매개 변수가있는 경우NULL또는 emptry 문자열, 해당 환경 변수 (참조PostgreSQL : 문서 : 9.4 : 환경 범퍼카 토토)가 확인되었습니다. 환경 변수가 설정되지 않으면 표시된 내장 기본값이 사용됩니다.
일반적으로 키워드는이 배열의 시작부터 색인 순서대로 처리됩니다. 이것의 효과는 키워드가 반복 될 때 마지막 처리 된 값이 유지된다는 것입니다. 따라서 신중한 배치를 통해dbname키워드, a에 의해 무엇이 상정 될 수 있는지 판단 할 수 있습니다.Conninfo문자열, 그렇지 않은 것.
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포함=서명 또는 유효한 연결uri접두사, 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
여러 제한 사항이 충족되는 한 차단됩니다 :
thehostaddrandhost매개 변수는 이름과 반대 이름 쿼리가 만들어지지 않도록 적절하게 사용됩니다. 이 매개 변수의 문서를 참조하십시오섹션 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
및PQConnectPoll
.
연결 재설정을 시작하려면 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함수는 사용자 지정 문자열을 구문 분석하여 범퍼카 토토 매개 변수를 얻습니다. 이 문자열에 대해 허용되는 두 가지 형식이 있습니다 : 일반keyword = value줄과RFC 3986Uris.
첫 번째 형식에서는 각 매개 변수 설정이 양식에 있습니다keyword = value. 동일한 부호 주변의 공간은 선택 사항입니다. 빈 값 또는 공백이 포함 된 값을 작성하려면 단일 따옴표로 둘러싸여 있습니다 (예 :keyword = 'value'. 값 내의 단일 따옴표와 백 슬래시는 백 슬래시로 탈출해야합니다.\ '및\\.
예 :
host = localhost port = 5432 dbname = mydb connect_timeout = 10
인식 된 매개 변수 키워드는에 나열되어 있습니다.섹션 31.1.2.
범퍼카 토토을위한 일반 양식uriIS :
postgresql : // [user [: password]@] [netloc] [: 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
백분율 인코딩은 모든 것에 특별한 의미를 가진 기호를 포함하는 데 사용될 수 있습니다uri부품.
나열된 키워드에 해당하지 않는 모든 연결 매개 변수섹션 31.1.2무시되고 그들에 대한 경고 메시지가 전송됩니다Stderr.
JDBC 범퍼카 토토과의 호환성 향상uris, 매개 변수 인스턴스ssl = truesslmode = require.
호스트 부분은 호스트 이름 또는 IP 주소 일 수 있습니다. IPv6 호스트 주소를 지정하려면 정사각형 괄호 안에 동봉하십시오.
postgresql : // [2001 : db8 :: 1234]/database
호스트 구성 요소는 매개 변수에 대해 설명 된대로 해석됩니다호스트. 특히, 호스트 부품이 비어 있거나 슬래시로 시작하는 경우 Unix-Domain 소켓 연결이 선택됩니다. 그렇지 않으면 TCP/IP 연결이 시작됩니다. 그러나 슬래시는 URI의 계층 적 부분에서 예약 된 문자입니다. 따라서 비표준 UNIX- 도메인 소켓 디렉토리를 지정하려면 URI의 호스트 사양을 생략하고 호스트를 매개 변수로 지정하거나 URI의 호스트 구성 요소에서 경로를 비율로 지정하십시오.
postgresql : // dbname? host =/var/lib/postgresql postgresql : //%2fvar%2flib%2fpostgresql/dbname
현재 인식 된 매개 변수 키 단어는 다음과 같습니다.
연결할 호스트 이름. 이것이 슬래시로 시작하면 TCP/IP 통신 대신 UNIX- 도메인 통신을 지정합니다. 값은 소켓 파일이 저장된 디렉토리의 이름입니다. 기본 동작host지정되지 않음/tmp(또는 지정된 소켓 디렉토리PostgreSQL건축). Unix-Domain 소켓이없는 기계에서 기본값은에 범퍼카 토토하는 것입니다.LocalHost.
연결할 호스트의 숫자 IP 주소. 표준 IPv4 주소 형식 (예 :이어야합니다.172.28.40.9. 컴퓨터가 IPv6을 지원하는 경우 해당 주소를 사용할 수도 있습니다. TCP/IP 통신은이 매개 변수에 비어 있지 않은 문자열이 지정 될 때 항상 사용됩니다.
사용hostaddr대신host애플리케이션이 호스트 이름 조회를 피할 수 있도록합니다. 이는 시간 제약 조건이있는 응용 프로그램에서 중요 할 수 있습니다. 그러나 GSSAPI 또는 SSPI 인증 방법 및에 호스트 이름이 필요합니다.verify-fullSSL 인증서 확인. 다음 규칙이 사용됩니다.
ifhosthostaddr, 호스트 이름 조회가 발생합니다.
ifhostaddrhost, 값hostaddr서버 네트워크 주소를 제공합니다. 인증 방법에 호스트 이름이 필요한 경우 연결 시도가 실패합니다.
둘 다호스트andhostaddr지정되어 있습니다.hostaddr서버 네트워크 주소를 제공합니다. 의 값호스트인증 방법이 필요하지 않으면 무시됩니다.이 경우 호스트 이름으로 사용됩니다.
인증이 실패 할 가능성이 높습니다호스트네트워크 주소에서 서버 이름이 아닙니다hostaddr. 또한,호스트보다는hostaddr연결을 식별하는 데 사용됩니다~/.pgpass(참조토토 캔 : 문서 : 9.4 : 암호 파일).
호스트 이름 또는 호스트 주소가 없으면libpq로컬 Unix-Domain 소켓을 사용하여 연결합니다. 또는 Unix-Domain 소켓이없는 기계에서 연결하려고 시도합니다.LocalHost.
서버 호스트에서 연결할 포트 번호 또는 Unix-Domain 연결을위한 소켓 파일 이름 확장자.
데이터베이스 이름. 기본값은 사용자 이름과 동일합니다. 특정 상황에서 값은 확장 형식에 대해 확인됩니다. 보다섹션 31.1.1그에 대한 자세한 내용은.
PostgreSQL사용자 이름으로 연결할 수 있습니다. 기본값은 응용 프로그램을 실행하는 사용자의 운영 체제 이름과 동일합니다.
서버가 암호 인증을 요구하는 경우 사용할 비밀번호.
최대 연결 대기, 초의 최대 대기 (소수 정수 문자열로 쓰기). 제로 또는 지정되지 않은 것은 무기한 대기를 의미합니다. 2 초 미만의 시간 초과를 사용하는 것이 좋습니다.
이것은를 설정합니다.client_encoding이 연결의 구성 매개 변수. 해당 서버 옵션으로 허용되는 값 외에도 사용할 수 있습니다자동클라이언트의 현재 로케일에서 올바른 인코딩을 결정하려면 (LC_CTYPEUNIX 시스템의 환경 변수).
런타임에 서버로 전송하기 위해 명령 줄 옵션을 추가합니다. 예를 들어, 이것을 설정-C geqo = Off세션의 값을 설정합니다geqo매개 변수 toOFF. 사용 가능한 옵션에 대한 자세한 설명을 보려면롤 토토 : 문서 : 9.4 : 서버 구성.
값을 지정Application_Name구성 매개 변수.
Application_Name구성 매개 변수. 이 값은 값이 제공되지 않으면 사용됩니다.Application_Name연결 매개 변수 또는를 통해pgappname환경 변수. 폴백 이름을 지정하는 것은 기본 응용 프로그램 이름을 설정하지만 사용자가 재정의 할 수있는 일반 유틸리티 프로그램에서 유용합니다.
클라이언트 측 TCP 관리자가 사용되는지 여부를 제어합니다. 기본값은 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 빌드를 제외하고는 무시됩니다. 이 경우로 설정하십시오.GSSAPI56131_56222
추가 매개 변수에 사용할 서비스 이름. 에서 서비스 이름을 지정합니다pg_service.conf56463_56625스포츠 토토 : 문서 : 9.4 : 연결 서비스 파일.