Postgresql 9.3.25 문서화 | ||||
---|---|---|---|---|
PostgreSQL : 문서 : 9.3 : LIBPQ -C 토토 커뮤니티 | PostgreSQL : 문서 : 9.3 : LIBPQ -C 토토 커뮤니티 | 31 장.libpq-C 라이브러리 | PostgreSQL : 문서 : 9.3 : 윈 토토 상태 기능 |
다음 기능은 a를 연결하는 것을 다룹니다.PostgreSQL백엔드 서버. an
애플리케이션 프로그램은 여러 백엔드 배트맨 토토을 열 수 있습니다
일회. (그렇게해야 할 이유 중 하나는 둘 이상의 액세스입니다.
데이터베이스.) 각 배트맨 토토은 A로 표시됩니다.pgconn객체
기능PQCONNECTDB
, PQCONNECTDBPARAMS
또는pqsetdblogin
. 이러한 기능은 그럴 것입니다
아마도없는 객체 포인터를 항상 반환하십시오.
할당하기에도 기억이 너무 적습니다pgconn개체. 그만큼pqstatus
함수를 선택하여 확인해야합니다
쿼리가 전송되기 전에 성공적인 배트맨 토토에 대한 반환 값
배트맨 토토 객체를 통해.
경고 |
신뢰할 수없는 사용자가 아닌 데이터베이스에 액세스 할 수있는 경우 채택보안 스키마 사용 패턴, 각 세션을 제거하여 시작하십시오 공개적으로 쓰레기 스키마에서search_path. 하나는 매개 변수 키워드를 설정할 수 있습니다옵션가치-CSEARCH_PATH =. 또는 발행 할 수 있습니다pqExec (conn, "PG_CATALOG.SET_CONFIG ( 'search_path', '', false)" 선택배트맨 토토 후. 이 고려 사항은libpq; 그것은 모든 것에 적용됩니다 임의의 SQL 명령을 실행하기위한 인터페이스. |
경고 |
UNIX에서 열린 LIBPQ 배트맨 토토로 프로세스를 포킹 할 수 있습니다.
부모와 자녀가 과정하기 때문에 예측할 수없는 결과에
동일한 소켓 및 운영 체제 리소스를 공유하십시오. 이것을 위해
이유, 그러한 사용은 권장되지 않지만 |
참고 :Windows에는 성능을 향상시키는 방법이 있습니다 단일 데이터베이스 연결이 반복적으로 시작되고 종료 된 경우 내부적으로 libpq 호출
wsastartup ()
andwsacleanup ()
배트맨 토토 용 시작 및 종료.wsastartup ()
내부 창을 증가시킵니다 에 의해 감소되는 라이브러리 참조 수wsacleanup ()
. 참조 수가 정당한 경우 하나, 전화wsacleanup ()
모든 것을 해방시킵니다 리소스와 모든 DLL이 언로드됩니다. 이것은 비싸다 작업. 이를 피하기 위해 응용 프로그램은 수동으로 호출 할 수 있습니다wsastartup ()
따라서 리소스는 그렇지 않습니다 마지막 데이터베이스 배트맨 토토이 닫힐 때 해제.
PQCONNECTDBPARAMS
데이터베이스 서버에 새로운 배트맨 토토을합니다.
pgconn *pqconnectdbparams (const char *const *키워드, const char * const * 값, int expand_dbname);
이 기능은
두 가지에서 가져온 매개 변수NULL-종료
배열. 첫 번째,키워드는 다음과 같이 정의됩니다
문자열의 배열, 각 배열은 핵심 단어입니다. 두 번째,값, 각 키 단어의 값을 제공합니다.
같지 않은pqsetdblogin
아래,
기능을 변경하지 않고 매개 변수 세트를 확장 할 수 있습니다
서명 이므로이 기능 (또는 비 차단 아날로그 사용PQConnectStartParams
andpqconnectpoll
)는 새로운 응용 프로그램에 선호됩니다
프로그램 작성.
현재 인식 된 매개 변수 키워드는에 나열되어 있습니다.섹션 31.1.2.
언제expand_dbname는 0이 아니며dbname키워드 값이 허용됩니다 연결 문자열로 인식됩니다. 의 첫 번째 사건 만dbname이런 식으로 확장됩니다 후속dbname값은 처리됩니다 일반 데이터베이스 이름. 가능한 배트맨 토토 문자열에 대한 자세한 내용 형식은에 나타납니다.섹션 31.1.1.
전달 된 배열은 모든 기본 매개 변수를 사용하기 위해 비어있을 수 있습니다. 하나 이상의 매개 변수 설정을 포함 할 수 있습니다. 그들은 일치해야합니다 길이. 처리가 마지막 이외의 상태로 중지됩니다NULL요소키워드배열.
매개 변수가 지정되지 않은 경우 해당 환경 변수 (참조PostgreSQL : 문서 : 9.3 : 환경 사설 토토)가 확인됩니다. 환경 변수가 설정되지 않은 경우 어느 쪽이든, 표시된 내장 기본값이 사용됩니다.
일반적으로 키워드는이 시작부터 처리됩니다. 인덱스 순서대로 배열. 이것의 효과는 핵심 단어 일 때입니다 반복되면, 마지막 처리 된 값이 유지됩니다. 그러므로, 신중한 배치를 통해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구조
NULL이있는 항목으로 끝납니다키워드포인터.
모든 법적 옵션이 결과 배열에 존재하지만pqconninfooption어떤 옵션도 연결 문자열에있는 존재val설정NULL; 기본 값은 삽입되지 않습니다.
iferrmsgnull,*errmsg로 설정되었습니다NULL성공에 대해Malloc
'D 오류 문자열 문제를 설명합니다. (그것
또한 가능합니다*errmsg로 설정하려면NULL그리고 반환 할 함수null; 이것은 메모리 외 상태를 나타냅니다.)
옵션 배열을 처리 한 후 옵션을 전달하여PQCONNINFOFREE
. 이 작업이 완료되지 않으면
각 호출마다 일부 메모리가 유출됩니다PQCONNINFOPARSE
. 반대로 오류가 발생하는 경우
그리고errmsgNULL,를 사용하여 오류 문자열을 제거하십시오PQFREEMEM
.
pqfinish
서버 배트맨 토토을 닫습니다. 또한 사용 된 메모리를 해방시킵니다 그만큼pgconn개체.
void pqfinish (pgconn *conn);
서버 배트맨 토토 시도가 실패하더라도
표시PQSTATUS
),
응용 프로그램은 전화해야합니다pqfinish
to
에서 사용하는 메모리를 무료pgconn개체. 그만큼pgconn포인터가되어서는 안됩니다
이후에 다시 사용pqfinish
라고 불리는.
pqreset
통신 채널을 서버로 재설정합니다.
void pqreset (pgconn *conn);
이 기능은 서버에 대한 연결을 닫고 동일한 서버에 대한 새로운 연결을 다시 설정하려고 시도합니다. 이전에 사용한 모든 동일한 매개 변수. 이것은 유용 할 수 있습니다 작업 연결이 손실되면 오류 복구.
PQRESETSTART
pqresetpoll
블로킹을하지 않은 상태에서 통신 채널을 서버로 재설정합니다. 방법.
int pqresetstart (pgconn *conn); postgrespollingstatustype pqresetpoll (pgconn *conn);
이 기능은 서버에 대한 연결을 닫고
동일한 서버에 대한 새로운 연결을 다시 설정하려고 시도합니다.
이전에 사용한 모든 동일한 매개 변수. 이것은 유용 할 수 있습니다
작업 연결이 손실되면 오류 복구. 그들은 다릅니다pqreset
(위) a에서 행동한다는 점에서
비 차단 방식. 이러한 기능은 동일하게 고통받습니다
제한PQConnectStartParams
,
PQConnectStart
andPQConnectPoll
.
연결 재설정을 시작하려면 CallPQRESETSTART
. 0을 반환하면 재설정이 있습니다
실패한. 1을 반환하면를 사용하여 재설정을 폴링합니다pqresetpoll
정확히 같은 방식으로
를 사용하여 배트맨 토토을 만듭니다.PQConnectPoll
.
pqpingparams
pqpingparams
상태를보고합니다
서버. 연결 매개 변수를 동일한 연결 매개 변수와 동일하게 허용합니다.PQCONNECTDBPARAMS
, 위에서 설명합니다.
올바른 사용자 이름, 암호 또는
서버 상태를 얻기위한 데이터베이스 이름 값; 그러나 if
잘못된 값이 제공되면 서버가 실패합니다.
연결 시도.
pgping pqpingparams (const char * const * 키워드, const char * const * 값, int expand_dbname);
함수는 다음 값 중 하나를 반환합니다.
서버가 실행 중이며 수락하는 것으로 보입니다 사이.
서버가 실행 중이지만 불가능한 상태에 있습니다. 연결 (시작, 종료 또는 충돌 복구).
서버에 연락 할 수 없습니다. 이것은 그것을 나타낼 수 있습니다 서버가 실행되지 않거나 주어진 배트맨 토토 매개 변수 (예 : 잘못된 포트 번호), OR 네트워크 배트맨 토토 문제가 있습니다 (예 : 배트맨 토토 요청 차단 방화벽).
제공되는 것이기 때문에 서버에 연락하려는 시도가 없었습니다. 매개 변수는 분명히 부정확하거나 클라이언트 측이있었습니다 문제 (예 : 기억이없는).
pqping
pqping
섬기는 사람. 배트맨 토토 매개 변수를 동일한 배트맨 토토 매개 변수와 동일하게 허용합니다.PQCONNECTDB
, 위에서 설명합니다. 그것은
올바른 사용자 이름, 암호 또는 데이터베이스를 제공 할 필요가 없습니다.
서버 상태를 얻기위한 이름 값; 그러나 잘못된 경우
값이 제공되며 서버는 실패한 연결을 기록합니다.
시도.
pgping pqping (const char *conninfo);
반환 값은와 동일합니다pqpingparams
.
여러libpq함수 구문 분석 a 배트맨 토토 매개 변수를 얻기 위해 사용자 지정 문자열. 거기 있습니다 이 문자열에 대한 두 개의 허용 형식 : 일반키워드 = value문자열 및RFC 3986Uris.
첫 번째 형식에서는 각 매개 변수 설정이 양식에 있습니다keyword = value. 동등한 주위의 공간 사인은 선택 사항입니다. 빈 값 또는 포함 값을 작성합니다 공백, 단일 따옴표로 둘러싸여 있습니다 (예 :keyword = 'value'. 단일 따옴표와 백 슬래시 값 내에서 백 슬래시로 탈출해야합니다.\ 'and\\.
예 :
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 연결이 시작됩니다. 그러나 슬래시는 a입니다 URI의 계층 적 부분에 예약 된 캐릭터. 그래서 비표준 UNIX-Domain 소켓 디렉토리를 지정하십시오 URI의 호스트 사양과 호스트를 매개 변수 또는 백분율-호스트 구성 요소의 경로 URI :
postgresql : // dbname? host =/var/lib/postgresql postgresql : //%2fvar%2flib%2fpostgresql/dbname
현재 인식 된 매개 변수 키워드는 다음과 같습니다.
연결할 호스트 이름. 이것이 슬래시로 시작하면 TCP/IP 대신 UNIX- 도메인 통신을 지정합니다 의사소통; 값은 소켓 파일이 저장됩니다. 기본 동작host지정되지 않은 것은 UNIX- 도메인에 배트맨 토토하도록합니다 소켓/tmp(또는 모든 소켓 디렉토리는에 지정되었습니다.PostgreSQL건축). 없는 기계에서 유닉스 도메인 소켓, 기본값은 배트맨 토토하는 것입니다LocalHost.
연결할 호스트의 숫자 IP 주소. 이것은 안에 있어야합니다 표준 IPv4 주소 형식 (예 :172.28.40.9. 컴퓨터가 IPv6을 지원하는 경우 가능합니다 또한 주소를 사용하십시오. TCP/IP 통신은 언제든지 사용됩니다 이 매개 변수에 대해 비어 있지 않은 문자열이 지정됩니다.
사용hostaddr대신호스트응용 프로그램이 호스트 이름을 피하도록 허용합니다 시간이 지남에 따라 응용 프로그램에서 중요 할 수 있습니다 제약. 그러나 Kerberos, GSSAPI에 호스트 이름이 필요합니다. 또는 SSPI 인증 방법뿐만 아니라verify-fullSSL 인증서 확인. 그만큼 다음 규칙이 사용됩니다.
ifhost지정hostaddr, 호스트 이름 조회가 발생합니다.
ifhostaddr호스트, 값hostaddr서버 네트워크 주소를 제공합니다. 그만큼 인증 방법에 필요한 경우 연결 시도가 실패합니다 호스트 이름.
둘 다host및hostaddr지정되어 있습니다.hostaddr서버 네트워크 주소를 제공합니다. 가치 을 위한host가 아니라면 무시됩니다 인증 방법이 필요하며,이 경우에는 사용됩니다. 호스트 이름.
인증이 실패 할 가능성이 높습니다host는 네트워크에서 서버 이름이 아닙니다 주소hostaddr. 또한,host보다는hostaddr연결을 식별하는 데 사용됩니다~/.pgpass(참조섹션 31.15).
호스트 이름 또는 호스트 주소가 없으면libpq로컬 유닉스 도메인을 사용하여 연결합니다 소켓; 또는 Unix-Domain 소켓이없는 기계에서 시도합니다 연결하려면LocalHost.
서버 호스트 또는 소켓 파일에 연결할 포트 번호 Unix-Domain 연결에 대한 이름 확장.
데이터베이스 이름. 기본값은 사용자 이름과 동일합니다. ~ 안에 특정 컨텍스트, 값은 확장 형식에 대해 확인됩니다. 보다섹션 31.1.1그에 대한 자세한 내용은.
PostgreSQL연결할 사용자 이름 처럼. 기본값은 운영 체제 이름과 동일합니다. 응용 프로그램을 실행하는 사용자.
서버가 암호를 요구하는 경우 사용할 비밀번호 입증.
연결에 대한 최대 대기, 몇 초 만에 (소수점으로 쓰기 정수 문자열). 제로 또는 지정되지 않은 것은 무기한 대기를 의미합니다. 그것 2 초 미만의 타임 아웃을 사용하는 것이 좋습니다.
이것은를 설정합니다.client_encoding이 연결의 구성 매개 변수. 외에 해당 서버 옵션으로 허용되는 값을 사용할 수 있습니다auto올바른 인코딩을 결정합니다 클라이언트의 현재 로케일 (LC_CTYPEUNIX 시스템의 환경 변수).
런타임에 서버로 전송하기 위해 명령 줄 옵션을 추가합니다. 을 위한 예, 이것을 설정-C geqo = off세트 세션의 값geqo매개 변수 에게OFF. 에 대한 자세한 토론을 위해 사용 가능한 옵션, 상담범퍼카 토토 : 문서 : 9.3 : 서버 구성.
값을 지정Application_Name구성 매개 변수.
Application_Name구성 매개 변수. 이 값은 값이 없으면 사용됩니다application_namea 연결 매개 변수 또는pgappname환경 변수. 폴백 이름을 지정하는 것이 유용합니다 기본 응용 프로그램을 설정하려는 일반 유틸리티 프로그램 이름이지만 사용자가 재정의 할 수 있습니다.
클라이언트 측 TCP 관리인이 사용되는지 여부를 제어합니다. 그만큼 기본값은 1이지만 의미가 있지만 0으로 변경할 수 있습니다. expalives가 원하지 않는다면 의미가 있습니다. 이 매개 변수입니다 유닉스 도메인 소켓을 통한 연결에 대해 무시됩니다.
TCP 후 비 활동의 초 수를 제어합니다. 서버에 keepalive 메시지를 보내야합니다. 제로 사용 값 시스템 기본값. 이 매개 변수는 연결에 대해 무시됩니다 유닉스 도메인 소켓을 통해 또는 keepalives가 비활성화 된 경우. 그것은 단지입니다 시스템에서 지원TCP_KEEPIDLE또는 동등한 소켓 옵션을 사용할 수 있으며 Windows에서 사용할 수 있습니다. 다른 시스템, 효과가 없습니다.
TCP KeepAlive 이후 몇 초를 제어합니다. 서버가 인정하지 않는 메시지는 역전. 0의 값은 시스템 기본값을 사용합니다. 이것 Unix-Domain 소켓을 통한 연결에 대해 매개 변수는 무시됩니다. 또는 keepalives가 비활성화 된 경우. 시스템에서만 지원됩니다 어디TCP_KEEPINTVL또는 동등한 소켓 옵션을 사용할 수 있으며 Windows에서 사용 가능합니다. 다른 시스템에는 없습니다 효과.
이전에 손실 될 수있는 TCP Keepalives의 수를 제어합니다. 클라이언트의 서버 연결은 죽은 것으로 간주됩니다. 가치 0의 시스템 기본값을 사용합니다. 이 매개 변수는 무시됩니다 Unix-Domain 소켓을 통한 연결 또는 Keepalives가 장애가 있는. 그것은 시스템에서만 지원됩니다TCP_KEEPCNT또는 동등한 소켓 옵션입니다 사용 가능; 다른 시스템에서는 효과가 없습니다.
무시했습니다 (이전에는 서버 디버그를 보내는 위치를 지정했습니다 산출).
이 옵션은 보안 우선 순위 여부를 결정합니다SSLTCP/IP 배트맨 토토 서버와 협상. 6 가지 모드가 있습니다 :
비 만 시도해보십시오.SSLConnection
먼저 비 시도SSL배트맨 토토; 그것이 실패하면 시도해보십시오SSLConnection
첫 번째 시도SSL배트맨 토토; 실패하면 비 시도해보십시오.SSLConnection
만 시도SSL배트맨 토토. 루트 CA 파일이있는 경우 동일하게 인증서를 확인하십시오. 마치 마치verify-ca지정되었습니다
만 시도SSL배트맨 토토, 서버 인증서가 신뢰할 수있는 인증 기관 (CA)
만 시도SSL배트맨 토토, 서버 인증서가 신뢰할 수있는 것에 의해 발행되는지 확인하십시오CA그리고 서버 호스트 이름 인증서에서 일치
참조섹션 31.18자세한 이러한 옵션의 작동 방식에 대한 설명.
sslmodeUNIX 도메인에 대해 무시됩니다 소켓 통신. 만약에PostgreSQLSSL 지원없이 컴파일됩니다. 옵션 사용요구, 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또는 a를 지정할 수 있습니다 외부에서 얻은 키"엔진"(엔진은OpenSSL로드 가능 모듈). 외부 엔진 사양은 a로 구성되어야합니다 콜론 구분 된 엔진 이름 및 엔진 별 키 식별자. 이 매개 변수는 SSL 연결이 이루어지지 않으면 무시됩니다.
이 매개 변수는 SSL을 포함하는 파일의 이름을 지정합니다. 인증 기관 (CA) 인증서. 파일이 존재하면 서버의 인증서가됩니다 이 당국 중 하나가 서명하도록 확인하십시오. 기본값 이다~/.postgresql/root.crt.
이 매개 변수는 SSL 인증서의 파일 이름을 지정합니다. 취소 목록 (CRL). 이 파일에 나열된 인증서 인증을 시도하는 동안 존재하며 거부됩니다 서버의 인증서. 기본값은~/.postgresql/root.crl.
이 매개 변수는 운영 시스템 사용자 이름을 지정합니다 예를 들어 서버요구 사항 = Postgres. 이 매개 변수 인 경우 Unix-Domain 소켓 연결을 만들 때 설정, 클라이언트는 연결 시작시 서버 프로세스는 지정된 사용자 이름으로 실행됩니다. 그렇다면 연결은 오류로 중단되지 않습니다. 이 매개 변수는 될 수 있습니다 사용 가능한 것과 유사한 서버 인증을 제공하는 데 사용됩니다 TCP/IP 연결의 SSL 인증서와 함께. (경우에 주목하십시오 유닉스 도메인 소켓이/tmp또는 다른 공개적으로 쓰기 가능한 위치, 모든 사용자는 서버 청취를 시작할 수 있습니다. 거기. 이 매개 변수를 사용하여 신뢰할 수있는 사용자가 실행하는 서버.)이 옵션은 지원됩니다. 를위한 플랫폼피어인증 방법이 구현되었습니다. 보다섹션 19.3.7.
Kerberos로 인증 할 때 사용할 Kerberos 서비스 이름 5 또는 GSSAPI. 서버에 지정된 서비스 이름과 일치해야합니다. Kerberos 인증을 성공시키기위한 구성. (참조섹션 19.3.5and섹션 19.3.3.)
GSSAPI 인증에 사용할 GSS 라이브러리. 만 사용됩니다 창. 설정GSSAPIlibpq를 강제로합니다 기본 대신 인증을 위해 GSSAPI 라이브러리를 사용하십시오. SSPI.
추가 매개 변수에 사용할 서비스 이름. a 서비스 이름pg_service.conf추가 연결 매개 변수를 보유합니다. 이것은 응용 프로그램을 허용합니다 연결 매개 변수가 될 수 있도록 서비스 이름 만 지정하십시오. 중앙에서 유지되었습니다. 보다PostgreSQL : 문서 : 9.3 : 연결 서비스 토토.