| 롤 토토 : 문서 : 9.5 : 롤 토토 | |||
|---|---|---|---|
| PostgreSQL : 문서 : 9.5 : LIBPQ -C 토토 | PostgreSQL : 문서 : 9.5 : LIBPQ -C 토토 | 제31장.libpq- C 라이브러리 | PostgreSQL : 문서 : 9.5 : 사설 토토 상태 기능 |
The following functions deal with making a connection to a포스트그레SQL백엔드 서버. 애플리케이션 프로그램에는 한 번에 여러 백엔드 와이즈 토토이 열려 있을 수 있습니다. (그렇게 하는 이유 중 하나는 둘 이상의 데이터베이스에 액세스하기 위한 것입니다.) 각 와이즈 토토은 다음으로 표시됩니다.PGconn함수에서 얻은 객체PQconnectdb, PQconnectdbParams또는PQsetdb로그인. 할당할 메모리가 너무 적은 경우를 제외하고 이러한 함수는 항상 null이 아닌 객체 포인터를 반환합니다.PGconn객체.PQ상태와이즈 토토 객체를 통해 쿼리가 전송되기 전에 성공적인 와이즈 토토에 대한 반환 값을 확인하기 위해 함수를 호출해야 합니다.
| 경고 |
|
신뢰할 수 없는 사용자가 다음을 채택하지 않은 데이터베이스에 접근할 수 있는 경우보안 스키마 사용 패턴, 공개적으로 쓰기 가능한 스키마를 제거하여 각 세션을 시작합니다.검색_경로. 매개변수 키워드를 설정할 수 있습니다.옵션값에-csearch_path=. 또는 발행할 수도 있습니다.PQexec(콘, "SELECT pg_catalog.set_config('search_path', '', false)")와이즈 토토 후. 이 고려 사항은 다음에만 국한되지 않습니다.libpq; 임의의 SQL 명령을 실행하기 위한 모든 인터페이스에 적용됩니다. |
| 경고 |
|
Unix에서는 열린 libpq 와이즈 토토로 프로세스를 분기하면 상위 프로세스와 하위 프로세스가 동일한 소켓과 운영 체제 리소스를 공유하기 때문에 예측할 수 없는 결과가 발생할 수 있습니다. 이러한 이유로 이러한 사용은 권장되지 않습니다. |
PQconnectdbParams데이터베이스 서버에 새로운 와이즈 토토을 만듭니다.
PGconn *PQconnectdbParams(const char * const *keywords,
const char * const *값,
int 확장_db이름);
이 함수는 두 매개변수에서 가져온 매개변수를 사용하여 새 데이터베이스 와이즈 토토을 엽니다.NULL-종료된 배열. 첫 번째,키워드은 문자열 배열로 정의되며 각 문자열은 키워드입니다. 두 번째,값, 각 키워드의 값을 제공합니다. 달리PQsetdb로그인아래에서 매개변수 세트는 함수 서명을 변경하지 않고 확장될 수 있으므로 이 함수(또는 비차단 아날로그)를 사용합니다.PQconnectStartParams그리고PQconnectPoll)은 새로운 애플리케이션 프로그래밍에 선호됩니다.
현재 인식된 매개변수 키워드는 다음에 나열되어 있습니다.섹션 31.1.2.
전달된 배열은 모든 기본 매개변수를 사용하기 위해 비어 있거나 하나 이상의 매개변수 설정을 포함할 수 있습니다. 길이가 일치해야 합니다. 처리가 처음부터 중지됩니다.NULL항목키워드배열. 또한 만약에값비-와 연관된 항목NULL 키워드항목은NULL또는 빈 문자열인 경우 해당 항목은 무시되고 다음 배열 항목 쌍으로 처리가 계속됩니다.
언제expand_dbname0이 아니며 첫 번째 값db이름키워드가 다음과 같은지 확인합니다.와이즈 토토 문자열. 그렇다면 그렇군요"확장됨"문자열에서 추출된 개별 와이즈 토토 매개변수로. 값에 등호()가 포함된 경우 데이터베이스 이름이 아닌 와이즈 토토 문자열로 간주됩니다.=) 또는 URI 체계 지정자로 시작됩니다. (와이즈 토토 문자열 형식에 대한 자세한 내용은 다음에 나와 있습니다.섹션 31.1.1.) 첫 번째 발생만DB이름이런 방식으로 처리됩니다. 모든 후속db이름매개변수는 일반 데이터베이스 이름으로 처리됩니다.
일반적으로 매개변수 배열은 처음부터 끝까지 처리됩니다. 키워드가 반복되면 마지막 값(즉,NULL또는 비어 있음)이 사용됩니다. 이 규칙은 특히 와이즈 토토 문자열에서 발견된 키워드가에 나타나는 키워드와 충돌할 때 적용됩니다.키워드배열. 따라서 프로그래머는 배열 항목을 와이즈 토토 문자열에서 가져온 값으로 재정의하거나 재정의할 수 있는지 여부를 결정할 수 있습니다. 확장 앞에 나타나는 배열 항목db이름항목은 와이즈 토토 문자열의 필드로 재정의될 수 있으며, 해당 필드는 뒤에 나타나는 배열 항목으로 재정의됩니다.db이름(but, again, only if those entries supply non-empty values).
모든 배열 항목과 확장된 와이즈 토토 문자열을 처리한 후 설정되지 않은 상태로 남아 있는 모든 와이즈 토토 매개변수는 기본값으로 채워집니다. 설정되지 않은 매개변수의 해당 환경 변수(참조PostgreSQL : 문서 : 9.5 : 환경 롤 토토)이 설정되면 해당 값이 사용됩니다. 환경 변수도 설정되지 않은 경우 매개변수에 내장된 기본값이 사용됩니다.
PQconnectdb데이터베이스 서버에 새로운 와이즈 토토을 만듭니다.
PGconn *PQconnectdb(const char *conninfo);
This function opens a new database connection using the parameters taken from the string콘인포.
전달된 문자열은 모든 기본 매개변수를 사용하기 위해 비어 있을 수 있습니다. 또는 공백으로 구분된 하나 이상의 매개변수 설정을 포함할 수 있습니다. 또는 다음을 포함할 수 있습니다.URI. 참조섹션 31.1.1자세한 내용은.
PQsetdb로그인데이터베이스 서버에 새로운 와이즈 토토을 만듭니다.
PGconn *PQsetdbLogin(const char *pghost,
const char *pgport,
const char *pgoptions,
const char *pgtty,
const char *db이름,
const char *로그인,
const char *pwd);
이것은 이전 버전입니다PQconnectdb고정된 매개변수 세트를 사용합니다. 누락된 매개변수가 항상 기본값을 사용한다는 점을 제외하면 동일한 기능을 갖습니다. 쓰기NULL또는 기본값으로 설정될 고정 매개변수 중 하나에 대한 빈 문자열입니다.
만약에db이름포함=서명하거나 유효한 와이즈 토토이 있음URI접두사, 다음과 같이 간주됩니다.콘인포문자열이 전달된 것과 똑같은 방식으로PQconnectdb, 나머지 매개변수는 지정된 대로 적용됩니다.PQconnectdbParams.
PQsetdb데이터베이스 서버에 새로운 와이즈 토토을 만듭니다.
PGconn *PQsetdb(char *pghost,
char *pgport,
char *pgoptions,
문자 *pgtty,
char *dbName);
이것은 호출하는 매크로입니다PQsetdb로그인에 대한 널 포인터 포함로그인그리고비밀번호매개변수. 아주 오래된 프로그램과의 호환성을 위해 제공됩니다.
PQconnectStartParamsPQconnectStartPQconnectPoll비차단 방식으로 데이터베이스 서버에 와이즈 토토하십시오.
PGconn *PQconnectStartParams(const char * const *keywords,
const char * const *값,
int 확장_db이름);
PGconn *PQconnectStart(const char *conninfo);
PostgresPollingStatusType PQconnectPoll(PGconn *conn);
이 세 가지 기능은 데이터베이스 서버에 대한 와이즈 토토을 여는 데 사용되며 그렇게 하는 동안 원격 I/O에서 애플리케이션의 실행 스레드가 차단되지 않습니다. 이 접근 방식의 요점은 I/O가 완료될 때까지 기다리는 시간이 내부가 아닌 애플리케이션의 메인 루프에서 발생할 수 있다는 것입니다.PQconnectdbParams또는PQconnectdb, 따라서 애플리케이션은 다른 활동과 동시에 이 작업을 관리할 수 있습니다.
함께PQconnectStartParams, 데이터베이스 와이즈 토토은에서 가져온 매개변수를 사용하여 이루어집니다.키워드그리고값배열 및 제어expand_dbname, 위에서 설명한 대로PQconnectdbParams.
함께PQconnectStart, 문자열에서 가져온 매개변수를 사용하여 데이터베이스 와이즈 토토이 이루어집니다.콘인포위에 설명된 대로PQconnectdb.
둘 다 아님PQconnectStartParams아니요PQconnectStart아니요PQconnectPoll다양한 제한 사항이 충족되는 한 차단됩니다.
그호스트주소그리고호스트매개변수는 이름 및 역방향 이름 쿼리가 수행되지 않도록 적절하게 사용됩니다. 다음 매개변수에 대한 문서를 참조하세요.섹션 31.1.2자세한 내용은.
부르신다면PQtrace, 추적하는 스트림 개체가 차단되지 않는지 확인하세요.
호출하기 전에 소켓이 적절한 상태인지 확인하세요.PQconnectPoll, 아래 설명과 같습니다.
참고: 다음의 사용PQconnectStartParams유사함PQconnectStart아래에 표시됩니다.
비차단 와이즈 토토 요청을 시작하려면 다음을 호출하세요.conn = PQconnectStart("connection_info_string"). 만일콘null이면libpq새 항목을 할당할 수 없습니다.PGconn구조. 그렇지 않으면 유효한PGconn포인터가 반환됩니다(아직 데이터베이스에 대한 유효한 와이즈 토토을 나타내지는 않지만). 돌아오는 길에PQconnectStart, 전화상태 = PQ상태(conn). 만일상태같음CONNECTION_BAD, PQconnectStart실패했습니다.
만약PQconnectStart성공, 다음 단계는 설문 조사입니다.libpq그래서 와이즈 토토 순서를 진행할 수 있습니다. 사용PQsocket(콘)데이터베이스 와이즈 토토의 기반이 되는 소켓의 설명자를 가져옵니다. 다음과 같이 반복하세요: IfPQconnectPoll(conn)마지막 반환PGRES_POLLING_READING, 소켓이 읽을 준비가 될 때까지 기다립니다(다음으로 표시됨).선택(), 설문조사()또는 유사한 시스템 기능). 그럼 전화하세요PQconnectPoll(conn)다시. 반대로 만약에PQconnectPoll(conn)마지막 반환PGRES_POLLING_WRITING, 소켓이 쓸 준비가 될 때까지 기다린 후 호출PQconnectPoll(conn)다시. 아직 전화하지 않으셨다면PQconnectPoll, 즉, 호출 직후PQconnectStart, 마지막으로 반환된 것처럼 동작PGRES_POLLING_WRITING. 다음까지 이 루프를 계속하세요.PQconnectPoll(conn)반환PGRES_POLLING_FAILED, 와이즈 토토 절차가 실패했음을 나타냄, 또는PGRES_POLLING_OK, 와이즈 토토이 성공적으로 이루어졌음을 나타냅니다.
와이즈 토토 중 언제든지 호출을 통해 와이즈 토토 상태를 확인할 수 있습니다.PQ상태. 이 호출이 반환되는 경우CONNECTION_BAD, 그러면 와이즈 토토 절차가 실패했습니다. 전화가 돌아오면CONNECTION_OK그러면 와이즈 토토이 준비됩니다. 이 두 상태는 모두 반환 값에서 동일하게 감지할 수 있습니다.PQconnectPoll, 위에 설명되어 있습니다. 비동기 와이즈 토토 절차 중에(및 도중에만) 다른 상태가 발생할 수도 있습니다. 이는 와이즈 토토 절차의 현재 단계를 나타내며 예를 들어 사용자에게 피드백을 제공하는 데 유용할 수 있습니다. 상태는 다음과 같습니다.
이러한 상수는 (호환성을 유지하기 위해) 유지되지만 응용 프로그램은 이러한 상수가 특정 순서로 발생하거나 전혀 의존해서는 안 되며 항상 문서화된 값 중 하나인 상태에 의존해서는 안 됩니다. 애플리케이션은 다음과 같은 작업을 수행할 수 있습니다.
스위치(PQstatus(conn))
사례 CONNECTION_STARTED:
Feedback = "와이즈 토토 중...";
휴식;
사례 CONNECTION_MADE:
Feedback = "서버에 와이즈 토토되었습니다...";
휴식;
.
.
.
기본값:
Feedback = "와이즈 토토 중...";
그connect_timeout사용 시 와이즈 토토 매개변수가 무시됩니다.PQconnectPoll; 과도한 시간이 경과했는지 여부를 결정하는 것은 애플리케이션의 책임입니다. 그렇지 않으면,PQconnectStart다음에 aPQconnectPoll루프는 다음과 같습니다.PQconnectdb.
만약에 주의하세요PQconnectStart널이 아닌 포인터를 반환합니다. 호출해야 합니다.PQfinish작업이 끝나면 구조 및 관련 메모리 블록을 폐기하기 위해. 와이즈 토토 시도가 실패하거나 중단된 경우에도 이 작업을 수행해야 합니다.
PQconndefaults기본 와이즈 토토 옵션을 반환합니다.
PQconninfoOption *PQconndefaults(void);
typedef 구조체
char *키워드; /* 옵션의 키워드 */
char *envvar; /* 대체 환경 변수 이름 */
char *컴파일됨; /* 기본값으로 컴파일된 폴백 */
char *발; /* 옵션의 현재 값, 또는 NULL */
char *레이블; /* 와이즈 토토 대화 상자의 필드 레이블 */
char *dispchar; /* 이 필드를 표시하는 방법을 나타냅니다.
와이즈 토토 대화 상자에서. 값은 다음과 같습니다.
"" 입력된 값을 그대로 표시
"*" 비밀번호 필드 - 값 숨기기
"D" 디버그 옵션 - 기본적으로 표시되지 않음 */
int dispsize; /* 대화상자의 필드 크기(문자) */
PQconninfoOption;
와이즈 토토 옵션 배열을 반환합니다. 이는 가능한 모든 것을 결정하는 데 사용될 수 있습니다.PQconnectdb옵션 및 현재 기본값. 반환 값은의 배열을 가리킵니다.PQconninfo옵션null이 있는 항목으로 끝나는 구조키워드포인터. 메모리를 할당할 수 없으면 널 포인터가 반환됩니다. 현재 기본값(발필드)는 환경 변수 및 기타 컨텍스트에 따라 달라집니다. 누락되거나 유효하지 않은 서비스 파일은 자동으로 무시됩니다. 호출자는 와이즈 토토 옵션 데이터를 읽기 전용으로 처리해야 합니다.
옵션 배열을 처리한 후 다음으로 전달하여 해제하십시오.PQconninfoFree. 그렇지 않으면 호출할 때마다 소량의 메모리가 누출됩니다.PQconndefaults.
PQconninfo실시간 와이즈 토토에 사용되는 와이즈 토토 옵션을 반환합니다.
PQconninfo옵션 *PQconninfo(PGconn *conn);
와이즈 토토 옵션 배열을 반환합니다. 이는 가능한 모든 것을 결정하는 데 사용될 수 있습니다.PQconnectdb옵션 및 서버에 와이즈 토토하는 데 사용된 값. 반환 값은의 배열을 가리킵니다.PQconninfo옵션null이 있는 항목으로 끝나는 구조키워드포인터. 위의 모든 참고사항은PQconndefaults다음 결과에도 적용PQconninfo.
PQconninfoParse제공된 와이즈 토토 문자열에서 구문 분석된 와이즈 토토 옵션을 반환합니다.
PQconninfoOption *PQconninfoParse(const char *conninfo, char **errmsg);
와이즈 토토 문자열을 구문 분석하고 결과 옵션을 배열로 반환합니다. 또는 반품NULL와이즈 토토 문자열에 문제가 있는 경우. 이 함수는를 추출하는 데 사용할 수 있습니다.PQconnectdb29980_30065PQconninfo옵션null이 있는 항목으로 끝나는 구조키워드포인터.
모든 적법한 옵션이 결과 배열에 표시되지만PQconninfo옵션와이즈 토토 문자열에 없는 옵션의 경우발다음으로 설정됨NULL; 기본값은 삽입되지 않습니다.
만약errmsg아닙니다NULL그러면*errmsg다음으로 설정됨NULL성공 시, 그렇지 않으면 amalloc30693_30760*errmsg다음으로 설정됨NULL및 반환할 함수NULL; 이는 메모리 부족 상태를 나타냅니다.)
옵션 배열을 처리한 후 다음으로 전달하여 해제하십시오.PQconninfoFree. 그렇지 않으면 호출할 때마다 일부 메모리가 누수됩니다.PQconninfoParse. 반대로 오류가 발생하면errmsg아님NULL, 다음을 사용하여 오류 문자열을 해제해야 합니다.PQfreemem.
PQfinish서버 와이즈 토토을 종료합니다. 또한에서 사용하는 메모리를 해제합니다.PGconn객체.
void PQfinish(PGconn *conn);
서버 와이즈 토토 시도가 실패하더라도 (다음으로 표시됨)PQ상태), 애플리케이션은 호출해야 합니다.PQfinish다음에서 사용하는 메모리를 해제합니다.PGconn객체.PGconn포인터는 이후에 다시 사용되어서는 안 됩니다.PQfinish호출되었습니다.
PQreset서버와의 통신 채널을 재설정합니다.
void PQreset(PGconn *conn);
이 함수는 서버에 대한 와이즈 토토을 닫고 이전에 사용된 것과 동일한 매개변수를 모두 사용하여 동일한 서버에 대한 새로운 와이즈 토토을 다시 시도합니다. 이는 작동 중인 와이즈 토토이 끊어진 경우 오류 복구에 유용할 수 있습니다.
PQresetStartPQresetPoll비차단 방식으로 서버와의 통신 채널을 재설정합니다.
int PQresetStart(PGconn *conn); PostgresPollingStatusType PQresetPoll(PGconn *conn);
이 함수는 서버에 대한 와이즈 토토을 닫고 이전에 사용된 것과 동일한 매개변수를 모두 사용하여 동일한 서버에 대한 새로운 와이즈 토토을 다시 시도합니다. 이는 작동 중인 와이즈 토토이 끊어진 경우 오류 복구에 유용할 수 있습니다. 그들은 다음과 다릅니다.PQreset(위)는 비차단 방식으로 작동한다는 점입니다. 이러한 함수에는 다음과 같은 제한이 적용됩니다.PQconnectStartParams, PQconnectStart그리고PQconnectPoll.
와이즈 토토 재설정을 시작하려면 다음을 호출하세요.PQresetStart. 0을 반환하면 재설정이 실패한 것입니다. 1이 반환되면 다음을 사용하여 재설정을 폴링합니다.PQresetPoll다음을 사용하여 와이즈 토토을 생성하는 것과 정확히 같은 방식으로PQconnectPoll.
PQpingParamsPQpingParams서버의 상태를 보고합니다. 다음과 동일한 와이즈 토토 매개변수를 허용합니다.PQconnectdbParams, 위에 설명되어 있습니다. 서버 상태를 얻기 위해 올바른 사용자 이름, 비밀번호 또는 데이터베이스 이름 값을 제공할 필요는 없습니다. 그러나 잘못된 값이 제공되면 서버는 실패한 와이즈 토토 시도를 기록합니다.
PGPing PQpingParams(const char * const *키워드,
const char * const *값,
int 확장_db이름);
함수는 다음 값 중 하나를 반환합니다:
서버가 실행 중이며 와이즈 토토을 수락하는 것 같습니다.
서버가 실행 중이지만 와이즈 토토을 허용하지 않는 상태(시작, 종료 또는 충돌 복구)입니다.
서버에 접속할 수 없습니다. 이는 서버가 실행되고 있지 않거나, 지정된 와이즈 토토 매개변수에 문제가 있거나(예: 잘못된 포트 번호), 네트워크 와이즈 토토 문제(예: 방화벽이 와이즈 토토 요청을 차단함)가 있음을 나타낼 수 있습니다.
제공된 매개변수가 분명히 부정확했거나 클라이언트측 문제(예: 메모리 부족)가 있었기 때문에 서버에 접속하려는 시도가 이루어지지 않았습니다.
PQ핑PQ핑서버의 상태를 보고합니다. 다음과 동일한 와이즈 토토 매개변수를 허용합니다.PQconnectdb, 위에 설명되어 있습니다. 서버 상태를 얻기 위해 올바른 사용자 이름, 비밀번호 또는 데이터베이스 이름 값을 제공할 필요는 없습니다. 그러나 잘못된 값이 제공되면 서버는 실패한 와이즈 토토 시도를 기록합니다.
PGPing PQping(const char *conninfo);
반환 값은 다음과 동일합니다.PQpingParams.
여러libpq함수는 사용자가 지정한 문자열을 구문 분석하여 와이즈 토토 매개변수를 얻습니다. 이러한 문자열에는 두 가지 형식이 허용됩니다. 일반키워드 = 값문자열 및RFC 3986URI.
첫 번째 형식에서는 각 매개변수 설정의 형식이 다음과 같습니다.키워드 = 값. 등호 주위의 공백은 선택 사항입니다. 빈 값이나 공백이 포함된 값을 쓰려면 작은따옴표로 묶습니다(예:).키워드 = '값'. 값 내의 작은따옴표와 백슬래시는 백슬래시로 이스케이프되어야 합니다. 즉,\'그리고\\.
예:
호스트=localhost 포트=5432 dbname=mydb connect_timeout=10
인식된 매개변수 키워드는 다음에 나열되어 있습니다.섹션 31.1.2.
와이즈 토토의 일반 형식URI다음은:
postgresql://[user[:password]@][host][:port][/dbname][?param1=value1&...]
그URI체계 지정자는 다음 중 하나일 수 있습니다.postgresql://또는postgres://. 나머지 각각URI부분은 선택사항입니다. 다음 예는 유효한 것을 보여줍니다.URI구문:
postgresql:// postgresql://localhost postgresql://localhost:5433 postgresql://localhost/mydb postgresql://user@localhost postgresql://사용자:비밀@localhost postgresql://other@localhost/otherdb?connect_timeout=10&application_name=myapp
일반적으로 계층 구조 부분에 나타나는 값URIcan alternatively be given as named parameters. 예를 들면:
postgresql:///mydb?host=localhost&port=5433
모든 명명된 매개변수는 다음에 나열된 키워드와 일치해야 합니다.섹션 31.1.2, JDBC 와이즈 토토과의 호환성을 위한 경우 제외URIs, 인스턴스ssl=true다음으로 번역됩니다sslmode=require.
퍼센트 인코딩은 다음 중 하나에 특별한 의미가 있는 기호를 포함하는 데 사용될 수 있습니다.URI부분.
호스트 부분은 호스트 이름이거나 IP 주소일 수 있습니다. IPv6 주소를 지정하려면 대괄호로 묶습니다.
postgresql://[2001:db8::1234]/database
호스트 부분은 매개변수에 설명된 대로 해석됩니다.호스트. 특히, 호스트 부분이 비어 있거나 절대 경로 이름처럼 보이면 Unix 도메인 소켓 와이즈 토토이 선택되고, 그렇지 않으면 TCP/IP 와이즈 토토이 시작됩니다. 그러나 슬래시는 URI의 계층 부분에서 예약된 문자입니다. 따라서 비표준 Unix 도메인 소켓 디렉터리를 지정하려면 URI의 호스트 부분을 생략하고 호스트를 명명된 매개변수로 지정하거나 URI의 호스트 부분에 있는 경로를 퍼센트 인코딩하세요.
postgresql:///dbname?host=/var/lib/postgresql postgresql://%2Fvar%2Flib%2Fpostgresql/dbname
현재 인식되는 매개변수 키워드는 다음과 같습니다:
와이즈 토토할 호스트의 이름. 슬래시로 시작하면 TCP/IP 통신이 아닌 Unix 도메인 통신을 지정합니다. 값은 소켓 파일이 저장되는 디렉터리의 이름입니다. 기본 동작은 다음과 같습니다.호스트지정되지 않은 것은 Unix 도메인 소켓에 와이즈 토토하는 것입니다./tmp(또는 다음과 같은 경우에 지정된 소켓 디렉토리PostgreSQL빌드되었습니다). Unix 도메인 소켓이 없는 시스템에서는 기본값은 다음에 와이즈 토토하는 것입니다.로컬호스트.
와이즈 토토할 호스트의 숫자 IP 주소입니다. 이는 표준 IPv4 주소 형식이어야 합니다(예:172.28.40.9. 제품이 IPv6을 지원하는 경우 해당 주소를 사용할 수도 있습니다. 이 매개변수에 비어 있지 않은 문자열이 지정되면 TCP/IP 통신이 항상 사용됩니다.
사용 중호스트주소대신에호스트애플리케이션이 호스트 이름 조회를 피할 수 있도록 허용합니다. 이는 시간 제약이 있는 애플리케이션에서 중요할 수 있습니다. 그러나 GSSAPI 또는 SSPI 인증 방법에는 호스트 이름이 필요합니다.확인-전체SSL 인증서 확인. 다음 규칙이 사용됩니다.
만약호스트없이 지정됨호스트주소, 호스트 이름 조회가 발생합니다.
만약호스트주소없이 지정됨호스트, 값은호스트주소서버 네트워크 주소를 제공합니다. 인증 방법에 호스트 이름이 필요한 경우 와이즈 토토 시도가 실패합니다.
둘 다인 경우호스트그리고호스트주소지정됨, 값은호스트주소서버 네트워크 주소를 제공합니다. 값은호스트인증 방법에서 요구하지 않는 한 무시되며, 이 경우 호스트 이름으로 사용됩니다.
다음의 경우 인증이 실패할 수 있다는 점에 유의하세요.호스트은 네트워크 주소에 있는 서버의 이름이 아닙니다호스트주소. 또한 참고하세요호스트대신호스트주소다음의 와이즈 토토을 식별하는 데 사용됩니다.~/.pgpass(참조토토 사이트 : 문서 : 9.5 : 암호 파일).
호스트 이름이나 호스트 주소가 없으면,libpq로컬 Unix 도메인 소켓을 사용하여 와이즈 토토합니다. 또는 Unix 도메인 소켓이 없는 시스템에서는 와이즈 토토을 시도합니다.로컬호스트.
Port number to connect to at the server host, or socket file name extension for Unix-domain connections.
데이터베이스 이름. 기본값은 사용자 이름과 동일합니다. 특정 상황에서는 확장 형식에 대한 값이 확인됩니다. 참조섹션 31.1.1자세한 내용은.
PostgreSQL와이즈 토토할 사용자 이름입니다. 기본값은 애플리케이션을 실행하는 사용자의 운영 체제 이름과 동일합니다.
Password to be used if the server demands password authentication.
초 단위의 최대 와이즈 토토 대기 시간(십진 정수 문자열로 쓰기). 0 또는 지정되지 않음은 무기한 대기를 의미합니다. 2초 미만의 시간 초과를 사용하는 것은 권장되지 않습니다.
이것은 다음을 설정합니다client_encoding이 와이즈 토토에 대한 구성 매개변수입니다. 해당 서버 옵션에서 허용하는 값 외에도 다음을 사용할 수 있습니다.자동클라이언트의 현재 로케일에서 올바른 인코딩을 결정합니다(LC_CTYPEUnix 시스템의 환경 변수).
와이즈 토토 시작 시 서버에 보낼 명령줄 옵션을 지정합니다. 예를 들어, 이것을로 설정하면-c geqo=끄기세션의 값을 설정합니다.geqo매개변수 ~꺼짐. 이 문자열 내의 공백은 백슬래시()로 이스케이프하지 않는 한 별도의 명령줄 인수로 간주됩니다.\); 쓰다\\문자 그대로 백슬래시를 나타냅니다. 사용 가능한 옵션에 대한 자세한 내용은 다음을 참조하세요.토토 사이트 : 문서 : 9.5 : 서버 구성.
에 대한 값을 지정합니다.응용프로그램_이름구성 매개변수.
다음에 대한 대체 값을 지정합니다.응용프로그램_이름구성 매개변수. 이 값은 값이 제공되지 않은 경우 사용됩니다.응용프로그램_이름와이즈 토토 매개변수를 통해 또는PGAPPNAME환경 변수. 대체 이름을 지정하는 것은 기본 애플리케이션 이름을 설정하려고 하지만 사용자가 이를 재정의할 수 있도록 허용하는 일반 유틸리티 프로그램에 유용합니다.
클라이언트 측 TCP 와이즈 토토 유지 사용 여부를 제어합니다. 기본값은 1(켜짐)이지만, 와이즈 토토 유지를 원하지 않는 경우 0(꺼짐)으로 변경할 수 있습니다. Unix 도메인 소켓을 통해 이루어진 와이즈 토토에서는 이 매개변수가 무시됩니다.
TCP가 서버에 와이즈 토토 유지 메시지를 보내야 하는 비활성 시간(초)을 제어합니다. 0 값은 시스템 기본값을 사용합니다. Unix 도메인 소켓을 통해 이루어진 와이즈 토토이나 와이즈 토토 유지가 비활성화된 경우 이 매개변수는 무시됩니다. 다음과 같은 시스템에서만 지원됩니다.TCP_KEEPIDLE또는 이에 상응하는 소켓 옵션을 사용할 수 있으며 Windows에서는; 다른 시스템에서는 아무런 효과가 없습니다.
서버가 승인하지 않은 TCP 와이즈 토토 유지 메시지가 재전송되어야 하는 시간(초)을 제어합니다. 0 값은 시스템 기본값을 사용합니다. Unix 도메인 소켓을 통해 이루어진 와이즈 토토이나 와이즈 토토 유지가 비활성화된 경우 이 매개변수는 무시됩니다. 다음과 같은 시스템에서만 지원됩니다.TCP_KEEPINTVL또는 이에 상응하는 소켓 옵션을 사용할 수 있으며 Windows에서는; 다른 시스템에서는 아무런 효과가 없습니다.
서버에 대한 클라이언트 와이즈 토토이 끊어진 것으로 간주되기 전에 손실될 수 있는 TCP 와이즈 토토 유지 수를 제어합니다. 0 값은 시스템 기본값을 사용합니다. Unix 도메인 소켓을 통해 이루어진 와이즈 토토이나 와이즈 토토 유지가 비활성화된 경우 이 매개변수는 무시됩니다. 다음과 같은 시스템에서만 지원됩니다.TCP_KEEPCNT또는 동등한 소켓 옵션을 사용할 수 있습니다. 다른 시스템에서는 아무런 효과가 없습니다.
무시됨(이전에는 서버 디버그 출력을 보낼 위치를 지정했습니다).
이 옵션은 보안 우선순위를 결정합니다.SSLTCP/IP 와이즈 토토이 서버와 협상됩니다. 6가지 모드가 있습니다:
비-만 시도해 보세요.SSL와이즈 토토
먼저 비-를 시도해보세요SSL와이즈 토토; 실패하면 다음을 시도해 보세요.SSL와이즈 토토
먼저 시도해보세요SSL와이즈 토토; 실패하면 비-를 시도하십시오.SSL와이즈 토토
한 번만 시도해보세요SSL와이즈 토토. 루트 CA 파일이 있는 경우 다음과 같은 방식으로 인증서를 확인합니다.verify-ca지정되었습니다
한 번만 시도해보세요SSL와이즈 토토하고 서버 인증서가 신뢰할 수 있는 인증 기관에서 발급되었는지 확인하세요. (CA)
한 번만 시도해보세요SSL와이즈 토토, 서버 인증서가 신뢰할 수 있는 기관에서 발급되었는지 확인하세요.캘리포니아요청한 서버 호스트 이름이 인증서의 이름과 일치하는지 확인
참조섹션 31.18이러한 옵션의 작동 방식에 대한 자세한 설명을 참조하세요.
sslmode50812_50867PostgreSQL옵션을 사용하여 SSL 지원 없이 컴파일됩니다.요구, verify-ca, 또는전체 확인오류가 발생하지만 옵션은허용그리고선호허용되지만libpq실제로는 시도하지 않습니다SSL와이즈 토토.
이 옵션은 다음을 위해 더 이상 사용되지 않습니다.sslmode설정.
1로 설정하면,SSL서버 와이즈 토토이 필요합니다. (이는 다음과 같습니다.sslmode 요구). libpq서버가 승인하지 않으면 와이즈 토토을 거부합니다SSL와이즈 토토. 0(기본값)으로 설정하면,libpq서버와 와이즈 토토 유형을 협상합니다(동등함sslmode 선호). 이 옵션은 다음 경우에만 사용할 수 있습니다.포스트그레SQLSSL 지원으로 컴파일되었습니다.
1(기본값)로 설정하면 SSL 와이즈 토토을 통해 전송된 데이터가 압축됩니다(이 경우 필요오픈SSL버전 0.9.8 이상). 0으로 설정하면 압축이 비활성화됩니다(이렇게 하려면오픈SSL1.0.0 이상). SSL 없이 와이즈 토토되거나 다음 버전이 있는 경우 이 매개변수는 무시됩니다.오픈SSLused는 지원하지 않습니다.
압축은 CPU 시간을 사용하지만 네트워크에 병목 현상이 있는 경우 처리량을 향상시킬 수 있습니다. CPU 성능이 제한 요소인 경우 압축을 비활성화하면 응답 시간과 처리량이 향상될 수 있습니다.
이 매개변수는 클라이언트 SSL 인증서의 파일 이름을 지정하며 기본값을 대체합니다.~/.postgresql/postgresql.crt. SSL 와이즈 토토이 이루어지지 않으면 이 매개변수는 무시됩니다.
이 매개변수는 클라이언트 인증서에 사용되는 비밀 키의 위치를 지정합니다. 기본값 대신 사용될 파일 이름을 지정할 수 있습니다.~/.postgresql/postgresql.key또는 외부에서 얻은 키를 지정할 수 있습니다."엔진"(엔진은오픈SSL로드 가능한 모듈). 외부 엔진 사양은 콜론으로 구분된 엔진 이름과 엔진별 키 식별자로 구성되어야 합니다. SSL 와이즈 토토이 이루어지지 않으면 이 매개변수는 무시됩니다.
This parameter specifies the name of a file containing SSL certificate authority (캘리포니아) 인증서. 파일이 존재하는 경우 서버의 인증서가 이러한 기관 중 하나에 의해 서명되었는지 확인됩니다. 기본값은~/.postgresql/root.crt.
이 매개변수는 SSL 인증서 해지 목록(CRL)의 파일 이름을 지정합니다. 이 파일에 나열된 인증서가 있는 경우 서버 인증서 인증을 시도하는 동안 거부됩니다. 기본값은~/.postgresql/root.crl.
이 매개변수는 서버의 운영 체제 사용자 이름을 지정합니다. 예를 들어requirepeer=postgres. Unix 도메인 소켓 와이즈 토토을 만들 때 이 매개변수가 설정되면 클라이언트는 와이즈 토토 시작 시 서버 프로세스가 지정된 사용자 이름으로 실행되고 있는지 확인합니다. 그렇지 않은 경우 오류와 함께 와이즈 토토이 중단됩니다. 이 매개변수는 TCP/IP 와이즈 토토에서 SSL 인증서에 사용할 수 있는 것과 유사한 서버 인증을 제공하는 데 사용할 수 있습니다. (Unix 도메인 소켓이 있는 경우 참고하세요./tmp또는 공개적으로 쓰기 가능한 다른 위치에서 모든 사용자는 그곳에서 수신 대기하는 서버를 시작할 수 있습니다. 신뢰할 수 있는 사용자가 실행하는 서버에 와이즈 토토되어 있는지 확인하려면 이 매개변수를 사용하십시오.) 이 옵션은 다음을 수행하는 플랫폼에서만 지원됩니다.동료인증 방법이 구현되었습니다. 참조섹션 19.3.6.
GSSAPI로 인증할 때 사용할 Kerberos 서비스 이름입니다. Kerberos 인증이 성공하려면 서버 구성에 지정된 서비스 이름과 일치해야 합니다. (또한 참조섹션 19.3.3.)
GSSAPI 인증에 사용할 GSS 라이브러리. 현재 이는 GSSAPI 및 SSPI 지원을 모두 포함하는 Windows 빌드를 제외하고 무시됩니다. 이 경우에는 다음과 같이 설정하세요.gssapilibpq가 인증을 위해 기본 SSPI 대신 GSSAPI 라이브러리를 사용하도록 합니다.
추가 매개변수에 사용할 서비스 이름. 서비스 이름을 지정합니다.pg_service.conf추가 와이즈 토토 매개변수를 보유하고 있습니다. 이를 통해 애플리케이션은 서비스 이름만 지정하여 와이즈 토토 매개변수를 중앙에서 관리할 수 있습니다. 참조토토 핫 : 문서 : 9.5 : 연결 서비스 파일.