이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 32.1. 데이터베이스 토토 커뮤니티 제어 기능버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

31.1. 데이터베이스 배트맨 토토 제어 기능

다음 함수는 배트맨 토토을 처리합니다.PostgreSQL백엔드 서버. 안 응용프로그램은 여러 백엔드 배트맨 토토을 열어둘 수 있습니다. 한 번. (그렇게 하는 한 가지 이유는 둘 이상의 데이터베이스.) 각 배트맨 토토은 다음과 같이 표시됩니다.PGconn객체는 다음에서 얻습니다. 기능PQconnectdb, PQconnectdbParams, 또는PQsetdb로그인. 이러한 기능은 아마도 존재하지 않는 한 항상 null이 아닌 객체 포인터를 반환합니다. 할당하기에도 메모리가 너무 적습니다.PGconn객체.PQ상태함수를 호출하여 확인해야 합니다. 쿼리가 전송되기 전 성공적인 배트맨 토토에 대한 반환 값 배트맨 토토 개체를 통해.

경고

신뢰할 수 없는 사용자가 신뢰할 수 없는 데이터베이스에 접근할 수 있는 경우 채택됨안전하다 스키마 사용 패턴, 제거하여 각 세션을 시작합니다. 공개적으로 쓰기 가능한 스키마검색_경로. 매개변수 키워드를 설정할 수 있습니다.옵션값에-csearch_path=. 또는 발행할 수도 있습니다.PQexec(, "SELECT pg_catalog.set_config('search_path', '', false)")배트맨 토토 후. 이 고려 사항은 다음에만 국한되지 않습니다.libpq; 그것은 모든 것에 적용됩니다 임의의 SQL 명령을 실행하기 위한 인터페이스입니다.

경고

Unix에서 열린 libpq 배트맨 토토로 프로세스를 분기하면 다음이 발생할 수 있습니다. 상위 및 하위 프로세스로 인해 예측할 수 없는 결과가 발생할 수 있습니다. 동일한 소켓과 운영 체제 리소스를 공유합니다. 이를 위해 이유로 인해 이러한 사용은 권장되지 않지만실행하위 프로세스에서 새 프로세스를 로드합니다. 실행 파일은 안전합니다.

참고:Windows에서는 성능을 향상시킬 수 있는 방법이 있습니다 단일 데이터베이스 배트맨 토토이 반복적으로 시작되고 종료되는 경우. 내부적으로 libpq 호출WSA스타트업()그리고WSACleanup()배트맨 토토용 각각 시작 및 종료됩니다.WSA스타트업()내부 Windows를 증가시킵니다. 다음과 같이 감소되는 라이브러리 참조 횟수WSACleanup(). 참조 카운트가 다음과 같은 경우 하나, 전화해WSACleanup()모두 해제 리소스와 모든 DLL이 언로드됩니다. 이것은 비싸다 운영. 이를 방지하기 위해 애플리케이션은 수동으로 호출할 수 있습니다.WSA스타트업()그래서 자원은 마지막 데이터베이스 배트맨 토토이 닫히면 해제됩니다.

PQconnectdbParams

데이터베이스 서버에 새로운 배트맨 토토을 만듭니다.

PGconn *PQconnectdbParams(const char * const *키워드,
                          const char * const *값,
                          int 확장_db이름);

이 함수는 다음을 사용하여 새 데이터베이스 배트맨 토토을 엽니다. 두 개에서 가져온 매개변수NULL-종료됨 배열. 첫 번째,키워드은 다음과 같이 정의됩니다. 문자열 배열로, 각 문자열은 키워드입니다. 두 번째,, 각 키워드의 값을 제공합니다. 달리PQsetdb로그인아래, 기능을 변경하지 않고도 매개변수 세트를 확장할 수 있습니다. 서명이므로 이 함수(또는 비차단 유사 함수)를 사용하세요.PQconnectStartParams그리고PQconnectPoll14516_14565

현재 인식된 매개변수 키워드는 다음에 나열되어 있습니다.섹션 31.1.2.

언제expand_dbname0이 아닙니다.db이름키워드 값은 다음과 같습니다. 배트맨 토토 문자열로 인식됩니다. 첫 번째 발생만db이름이런 식으로 확장됩니다. 후속db이름값은 다음과 같이 처리됩니다. 일반 데이터베이스 이름. 가능한 배트맨 토토 문자열에 대한 자세한 내용 형식은 다음에 표시됩니다.섹션 31.1.1.

전달된 배열은 모든 기본 매개변수를 사용하기 위해 비어 있을 수 있습니다. 또는 하나 이상의 매개변수 설정을 포함할 수 있습니다. 일치해야합니다 길이. 마지막 비-로 처리가 중지됩니다.NULL요소키워드배열.

매개변수가 지정되지 않은 경우 해당 환경 변수(참조PostgreSQL : 문서 : 9.3 : 환경 사설 토토)가 확인되었습니다. 환경변수가 설정되지 않은 경우 어느 쪽이든 표시된 내장 기본값이 사용됩니다.

일반적으로 키워드는 이러한 단어의 시작 부분부터 처리됩니다. 인덱스 순서대로 배열. 이것의 효과는 키워드가 반복되면 마지막으로 처리된 값이 유지됩니다. 그러므로, 신중한 배치를 통해db이름키워드, a로 재정의할 수 있는 항목을 결정하는 것이 가능합니다.콘인포문자열이며 그렇지 않을 수도 있습니다.

PQconnectdb

데이터베이스 서버에 새로운 배트맨 토토을 만듭니다.

PGconn *PQconnectdb(const char *conninfo);

이 함수는 다음을 사용하여 새 데이터베이스 배트맨 토토을 엽니다. 문자열에서 가져온 매개변수콘인포.

모든 기본 매개변수를 사용하려면 전달된 문자열이 비어 있을 수 있습니다. 또는 로 구분된 하나 이상의 매개변수 설정을 포함할 수 있습니다. 공백 또는 다음을 포함할 수 있습니다.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로그인에 대한 널 포인터 포함로그인그리고비밀번호매개변수. 매우 오래된 버전과의 하위 호환성을 위해 제공됩니다. 프로그램.

PQconnectStartParams
PQconnectStart
PQconnectPoll

비차단 모드에서 데이터베이스 서버에 배트맨 토토합니다. 방식.

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수만큼 차단됩니다. 제한 사항이 충족되었습니다:

  • hostaddr그리고호스트매개변수는 다음을 위해 적절하게 사용됩니다. 해당 이름 및 역이름 쿼리는 수행되지 않습니다. 참조 이러한 매개변수에 대한 문서는섹션 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, 위에 설명되어 있습니다. 기타 상태는 비동기식 작업 도중(및 도중에만) 발생할 수도 있습니다. 배트맨 토토 절차. 이는 현재의 단계를 나타냅니다. 배트맨 토토 절차를 확인하고 피드백을 제공하는 데 유용할 수 있습니다. 예를 들어 사용자. 상태는 다음과 같습니다.

CONNECTION_STARTED

배트맨 토토이 이루어지기를 기다리는 중입니다.

CONNECTION_MADE

배트맨 토토 정상; 보내기를 기다리고 있습니다.

CONNECTION_AWAITING_RESPONSE

서버의 응답을 기다리는 중입니다.

CONNECTION_AUTH_OK

인증을 받았습니다. 백엔드 시작을 기다리는 중 마무리.

CONNECTION_SSL_STARTUP

SSL 암호화 협상 중.

CONNECTION_SETENV

환경 중심 매개변수 설정을 협상하는 중입니다.

이 상수는 그대로 유지되지만( 호환성 유지) 애플리케이션은 절대 의존해서는 안 됩니다. 이는 특정 순서로 발생하거나 전혀 발생하지 않거나 상태에 따라 발생합니다. 항상 문서화된 값 중 하나입니다. 애플리케이션은 다음과 같은 경우가 있습니다. 다음과 같이 하세요:

스위치(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있는 경우 배트맨 토토 문자열에 문제가 있습니다. 이 기능은 다음과 같은 용도로 사용할 수 있습니다. 추출하다PQconnectdb옵션 제공된 배트맨 토토 문자열. 반환 값은 배열을 가리킵니다. 의PQconninfo옵션구조, 이는 null이 있는 항목으로 끝납니다.키워드포인터.

모든 적법한 옵션이 결과 배열에 표시되지만PQconninfo옵션모든 옵션에 대해 배트맨 토토 문자열에 있는 내용은 다음과 같습니다.다음으로 설정됨NULL; 기본값 값은 삽입되지 않습니다.

만약errmsg아닙니다NULL그러면*errmsg다음으로 설정됨NULL성공 시, 그렇지 않으면 amalloc30460_30527*errmsg다음으로 설정됨NULL및 반환할 함수NULL; 이는 메모리 부족 상태를 나타냅니다.)

옵션 배열을 처리한 후 다음으로 전달하여 해제하십시오.PQconninfoFree. 이것이 완료되지 않으면, 호출할 때마다 일부 메모리가 누출됩니다.PQconninfoParse. 반대로 오류가 발생하면 그리고errmsg아님NULL, 다음을 사용하여 오류 문자열을 해제해야 합니다.PQfreemem.

PQfinish

서버 배트맨 토토을 종료합니다. 또한 다음에서 사용하는 메모리를 해제합니다.PGconn객체.

void PQfinish(PGconn *conn);

서버 배트맨 토토 시도가 실패하더라도(예: 으로 표시됨PQ상태), 애플리케이션이 호출되어야 합니다.PQfinish에 에서 사용하는 메모리를 해제합니다.PGconn객체.PGconn포인터는 다음과 같을 수 없습니다. 이후에 다시 사용됨PQfinish이되었습니다 전화했어요.

PQreset

서버와의 통신 채널을 재설정합니다.

void PQreset(PGconn *conn);

이 함수는 서버와의 배트맨 토토을 종료하고 다음을 사용하여 동일한 서버에 대한 새 배트맨 토토을 다시 설정해 보십시오. 이전에 사용된 것과 동일한 매개변수입니다. 이는 다음 경우에 유용할 수 있습니다. 작동 중인 배트맨 토토이 끊어진 경우 오류 복구.

PQresetStart
PQresetPoll

비차단 모드에서 서버와의 통신 채널을 재설정합니다. 방식.

int PQresetStart(PGconn *conn);

PostgresPollingStatusType PQresetPoll(PGconn *conn);

이 함수는 서버와의 배트맨 토토을 닫고 다음을 사용하여 동일한 서버에 대한 새 배트맨 토토을 다시 설정해 보십시오. 이전에 사용된 것과 동일한 매개변수입니다. 이는 다음과 같은 경우에 유용할 수 있습니다. 작동 중인 배트맨 토토이 끊어진 경우 오류 복구. 그들은 다음과 다릅니다.PQreset(위) 그들은 다음과 같이 행동한다는 점에서 비차단 방식. 이러한 기능은 동일한 문제를 겪습니다. 다음과 같은 제한 사항PQconnectStartParams, PQconnectStart그리고PQconnectPoll.

배트맨 토토 재설정을 시작하려면 다음을 호출하세요.PQresetStart. 0을 반환하면 재설정이 완료되었습니다. 실패했습니다. 1이 반환되면 다음을 사용하여 재설정을 폴링합니다.PQresetPoll당신과 똑같은 방식으로 다음을 사용하여 배트맨 토토을 만듭니다.PQconnectPoll.

PQpingParams

PQpingParams상태를 보고합니다. 서버. 다음과 동일한 배트맨 토토 매개변수를 허용합니다.PQconnectdbParams, 위에 설명되어 있습니다. 올바른 사용자 이름이나 비밀번호를 제공할 필요는 없습니다. 서버 상태를 얻기 위한 데이터베이스 이름 값; 그러나 만일 잘못된 값이 제공되면 서버는 실패를 기록합니다. 배트맨 토토 시도.

PGPing PQpingParams(const char * const *키워드,
                    const char * const *값,
                    int 확장_db이름);

함수는 다음 값 중 하나를 반환합니다:

PQPING_OK

서버가 실행 중이며 수락하는 것 같습니다 배트맨 토토.

PQPING_REJECT

서버가 실행 중이지만 허용하지 않는 상태입니다. 배트맨 토토(시작, 종료 또는 충돌 복구).

PQPING_NO_RESPONSE

서버에 접속할 수 없습니다. 이는 다음을 나타낼 수 있습니다. 서버가 실행되지 않거나 서버에 문제가 있는 경우 지정된 배트맨 토토 매개변수(예: 잘못된 포트 번호) 또는 네트워크 배트맨 토토 문제(예: 방화벽이 배트맨 토토 요청을 차단하고 있습니다).

PQPING_NO_ATTEMPT

제공된 서버 때문에 서버에 접속하려는 시도가 이루어지지 않았습니다. 매개변수가 분명히 부정확했거나 클라이언트 측에서 일부 오류가 있었습니다. 문제(예: 메모리 부족).

PQping

PQping상태를 보고합니다. 서버. 다음과 동일한 배트맨 토토 매개변수를 허용합니다.PQconnectdb, 위에 설명되어 있습니다. 그것은 올바른 사용자 이름, 비밀번호 또는 데이터베이스를 제공할 필요는 없습니다. 서버 상태를 얻기 위한 이름 값; 그러나 틀린 경우 값이 제공되면 서버는 배트맨 토토 실패를 기록합니다. 시도합니다.

PGPing PQping(const char *conninfo);

반환 값은 다음과 동일합니다.PQpingParams.

31.1.1. 배트맨 토토 문자열

여러libpq함수는 다음을 구문 분석합니다. 배트맨 토토 매개변수를 얻기 위한 사용자 지정 문자열입니다. 있다 이 문자열에 대해 허용되는 두 가지 형식: 일반키워드 = 값문자열 및RFC 3986URI.

31.1.1.1. 키워드/값 배트맨 토토 문자열

첫 번째 형식에서는 각 매개변수 설정의 형식이 다음과 같습니다.키워드 = 값. 동등한 공간 기호는 선택 사항입니다. 빈 값 또는 다음을 포함하는 값을 쓰려면 공백은 작은따옴표로 묶습니다(예:키워드 = '값'. 작은따옴표 및 백슬래시 값 내의 값은 백슬래시로 이스케이프되어야 합니다. 즉,\'그리고\\.

예:

호스트=localhost 포트=5432 dbname=mydb connect_timeout=10

인식된 매개변수 키워드는 다음에 나열되어 있습니다.섹션 31.1.2.

31.1.1.2. 배트맨 토토 URI

배트맨 토토의 일반 형식URI다음은:

postgresql://[user[:password]@][netloc][: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

계층적 부분의 구성요소URI또한 매개변수로 제공될 수 있습니다. 에 대한 예:

postgresql:///mydb?host=localhost&port=5433

퍼센트 인코딩은 특수 기호를 포함하는 데 사용될 수 있습니다. 다음 중 하나의 의미URI부분.

나열된 키워드와 일치하지 않는 배트맨 토토 매개변수 에서섹션 31.1.2무시되며 이에 대한 경고 메시지가 다음으로 전송됩니다.stderr.

JDBC 배트맨 토토과의 호환성 향상을 위해URIs, 매개변수 인스턴스ssl=true다음으로 번역됨sslmode=require.

호스트 부분은 호스트 이름 또는 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

31.1.2. 매개변수 키워드

현재 인식되는 매개변수 키워드는 다음과 같습니다:

호스트

배트맨 토토할 호스트의 이름. 슬래시로 시작하는 경우 TCP/IP가 아닌 Unix 도메인 통신을 지정합니다. 의사소통; 값은 해당 파일이 있는 디렉터리의 이름입니다. 소켓 파일이 저장됩니다. 기본 동작은 다음과 같습니다.호스트지정되지 않은 것은 Unix 도메인에 배트맨 토토하는 것입니다 소켓 입력/tmp(또는 다른 소켓 다음과 같은 경우 디렉토리가 지정되었습니다.포스트그레SQL빌드되었습니다). 없는 기계에서는 Unix 도메인 소켓, 기본값은 다음에 배트맨 토토하는 것입니다.로컬호스트.

호스트주소

배트맨 토토할 호스트의 숫자 IP 주소입니다. 이것은 표준 IPv4 주소 형식(예:172.28.40.9. 컴퓨터가 IPv6을 지원하는 경우 다음을 수행할 수 있습니다. 또한 해당 주소를 사용하십시오. TCP/IP 통신은 항상 다음과 같은 경우에 사용됩니다. 이 매개변수에는 비어 있지 않은 문자열이 지정되었습니다.

사용 중호스트주소대신호스트응용 프로그램이 호스트 이름을 피할 수 있도록 허용합니다. 시간이 지남에 따라 애플리케이션에서 중요할 수 있는 조회 제약. 그러나 Kerberos, GSSAPI, 또는 SSPI 인증 방법 및전체 확인SSL 인증서 확인. 는 다음 규칙이 사용됩니다:

  • 만약호스트없이 지정됨호스트주소, 호스트 이름 조회가 발생합니다.

  • 만약호스트주소없이 지정됨호스트, 값은호스트주소서버 네트워크 주소를 제공합니다. 는 인증 방법에 필요한 경우 배트맨 토토 시도가 실패합니다. 호스트 이름.

  • 둘 다인 경우호스트그리고hostaddr지정됨, 값은hostaddr서버 네트워크 주소를 제공합니다. 가치 에 대한호스트다음이 아닌 한 무시됩니다. 인증 방법이 필요하며, 이 경우 다음과 같이 사용됩니다. 호스트 이름입니다.

다음의 경우 인증이 실패할 수 있다는 점에 유의하세요.호스트은 네트워크에 있는 서버의 이름이 아닙니다. 주소호스트주소. 또한 참고하세요호스트보다는호스트주소다음의 배트맨 토토을 식별하는 데 사용됩니다.~/.pgpass(참조섹션 31.15).

호스트 이름이나 호스트 주소가 없으면,libpq로컬 Unix 도메인을 사용하여 배트맨 토토합니다 소켓; 또는 Unix 도메인 소켓이 없는 시스템에서는 다음을 시도합니다. 배트맨 토토하려면로컬호스트.

포트

서버 호스트에 배트맨 토토할 포트 번호 또는 소켓 파일 Unix 도메인 배트맨 토토을 위한 이름 확장자입니다.

db이름

데이터베이스 이름. 기본값은 사용자 이름과 동일합니다. 에서 특정 컨텍스트에서는 확장 형식에 대해 값이 확인됩니다. 참조섹션 31.1.1자세한 내용은.

사용자

PostgreSQL배트맨 토토할 사용자 이름 as. 기본값은 해당 운영체제의 이름과 동일합니다. 애플리케이션을 실행하는 사용자입니다.

비밀번호

서버가 비밀번호를 요구할 경우 사용할 비밀번호 인증.

connect_timeout

초 단위의 최대 배트맨 토토 대기 시간(십진수로 기록) 정수 문자열). 0 또는 지정되지 않음은 무기한 대기를 의미합니다. 그것 2초 미만의 시간 초과를 사용하지 않는 것이 좋습니다.

client_encoding

이것은 다음을 설정합니다client_encoding이 배트맨 토토에 대한 구성 매개변수입니다. 게다가 해당 서버 옵션에서 허용하는 값을 사용할 수 있습니다.자동올바른 인코딩을 결정하려면 클라이언트의 현재 로케일(LC_CTYPEUnix 시스템의 환경 변수).

옵션

런타임에 서버에 보낼 명령줄 옵션을 추가합니다. 에 대한 예를 들어, 이것을 다음과 같이 설정합니다.-c geqo=끄기세트 세션의 값은geqo매개변수 에꺼짐. 에 대한 자세한 논의를 위해서는 사용 가능한 옵션은 문의하세요범퍼카 토토 : 문서 : 9.3 : 서버 구성.

응용프로그램_이름

에 대한 값을 지정합니다.응용프로그램_이름구성 매개변수.

fallback_application_name

에 대한 대체 값을 지정합니다.응용프로그램_이름구성 매개변수. 값이 없으면 이 값이 사용됩니다. 에 대해 주어졌습니다.응용프로그램_이름경유 배트맨 토토 매개변수 또는PGAPPNAME환경 변수. 대체 이름을 지정하는 것은 다음 경우에 유용합니다. 기본 응용 프로그램을 설정하려는 일반 유틸리티 프로그램 이름을 지정하되 사용자가 재정의할 수 있도록 허용합니다.

배트맨 토토 유지

클라이언트 측 TCP 배트맨 토토 유지 사용 여부를 제어합니다. 는 기본값은 1(켜짐)을 의미하지만 이를 0으로 변경할 수 있습니다. Keepalive를 원하지 않으면 의미가 없습니다. 이 매개변수는 Unix 도메인 소켓을 통해 이루어진 배트맨 토토에서는 무시됩니다.

keepalives_idle

TCP가 비활성화된 이후의 비활성 시간(초)을 제어합니다. 서버에 keepalive 메시지를 보내야 합니다. 0 값 사용 시스템 기본값. 이 매개변수는 배트맨 토토이 이루어진 경우 무시됩니다. Unix 도메인 소켓을 통해 또는 배트맨 토토 유지가 비활성화된 경우. 그것은 단지 다음과 같은 시스템에서 지원됩니다.TCP_KEEPIDLE또는 동등한 소켓 옵션을 사용할 수 있으며 Windows에서는; 다른쪽에 시스템에는 아무런 효과가 없습니다.

keepalives_interval

TCP 배트맨 토토 유지 이후의 시간(초)을 제어합니다 서버가 승인하지 않은 메시지는 재전송됨. 0 값은 시스템 기본값을 사용합니다. 이 Unix 도메인 소켓을 통해 이루어진 배트맨 토토에서는 매개변수가 무시됩니다. 또는 Keepalive가 비활성화된 경우. 시스템에서만 지원됩니다. 어디서TCP_KEEPINTVL또는 동등한 소켓 옵션을 사용할 수 있으며 Windows에서는 다른 시스템에서는 효과.

keepalives_count

이전에 손실될 수 있는 TCP 배트맨 토토 유지 수를 제어합니다 클라이언트와 서버의 배트맨 토토이 끊어진 것으로 간주됩니다. 값 0이면 시스템 기본값을 사용합니다. 이 매개변수는 다음에 대해 무시됩니다. Unix 도메인 소켓을 통해 이루어진 배트맨 토토 또는 배트맨 토토 유지가 장애인. 다음과 같은 시스템에서만 지원됩니다.TCP_KEEPCNT또는 이에 상응하는 소켓 옵션은 다음과 같습니다. 사용 가능; 다른 시스템에서는 아무런 효과가 없습니다.

무시됨(이전에는 서버 디버그를 보낼 위치를 지정했습니다.) 출력).

sslmode

이 옵션은 보안 우선순위를 결정합니다.SSLTCP/IP 배트맨 토토은 서버와 협상했습니다. 6가지 모드가 있습니다:

비활성화

비-만 시도해 보세요.SSL배트맨 토토

허용

먼저 비-를 시도해 보세요.SSL배트맨 토토; 실패하면 다음을 시도해 보세요.SSL배트맨 토토

선호(기본값)

먼저 시도해보세요SSL배트맨 토토; 실패하면 비-를 시도하십시오.SSL배트맨 토토

요구

한 번만 시도해보세요SSL배트맨 토토. 루트 CA 파일이 있는 경우 동일한 인증서를 확인하십시오. 마치verify-ca지정되었습니다

verify-ca

한 번만 시도해보세요SSL배트맨 토토, 서버 인증서가 신뢰할 수 있는 기관에서 발급되었는지 확인하세요. 인증 기관(CA)

확인-전체

한 번만 시도해보세요SSL배트맨 토토, 서버 인증서가 신뢰할 수 있는 기관에서 발급되었는지 확인하세요.캘리포니아그리고 서버 호스트 이름은 인증서의 내용과 일치합니다.

참조섹션 31.18자세한 내용은 이러한 옵션의 작동 방식에 대한 설명입니다.

sslmodeUnix 도메인에서는 무시됩니다. 소켓 통신. 만일PostgreSQL은 SSL 지원 없이 컴파일됩니다. 옵션 사용요구, verify-ca또는전체 확인오류가 발생하지만 옵션은허용그리고선호허용되지만libpq실제로는 시도하지 않습니다SSL배트맨 토토.

requiressl

이 옵션은 다음을 위해 더 이상 사용되지 않습니다.sslmode설정.

1로 설정하면,SSL서버 배트맨 토토이 필요합니다. (이는 다음과 같습니다.sslmode 요구). libpq그러면 배트맨 토토을 거부할 것입니다 서버가 승인하지 않는 경우SSL배트맨 토토. 0(기본값)으로 설정하면,libpq협상할 것입니다. 서버와의 배트맨 토토 유형(동등함sslmode 선호). 이 옵션은 다음 경우에만 사용할 수 있습니다.포스트그레SQLSSL 지원으로 컴파일되었습니다.

ssl압축

1(기본값)로 설정하면 SSL 배트맨 토토을 통해 전송된 데이터는 압축됨(필요함오픈SSL버전 0.9.8 이상). 0으로 설정하면 압축이 비활성화됩니다. (이것은 필요합니다오픈SSL1.0.0 또는 나중에). SSL이 없는 배트맨 토토인 경우 이 매개변수는 무시됩니다. 만들어졌거나 버전이 다음인 경우오픈SSLused는 지원하지 않습니다.

압축은 CPU 시간을 사용하지만 다음과 같은 경우 처리량을 향상시킬 수 있습니다. 네트워크는 병목 현상입니다. 압축을 비활성화하면 성능이 향상될 수 있습니다. CPU 성능이 제한적인 경우 응답 시간 및 처리량 요인.

sslcert

이 매개변수는 클라이언트 SSL의 파일 이름을 지정합니다 인증서, 기본값 교체~/.postgresql/postgresql.crt. 이 매개변수는 SSL 배트맨 토토이 이루어지지 않으면 무시됩니다.

sslkey

이 매개변수는 사용된 비밀 키의 위치를 지정합니다 클라이언트 인증서의 경우. 다음 중 하나의 파일 이름을 지정할 수 있습니다. 기본값 대신 사용됩니다.~/.postgresql/postgresql.key또는 다음을 지정할 수 있습니다. 외부에서 얻은 키"엔진"(엔진은오픈SSL로드 가능 모듈). 외부 엔진 사양은 다음으로 구성되어야 합니다. 콜론으로 구분된 엔진 이름과 엔진별 키 식별자입니다. SSL 배트맨 토토이 이루어지지 않으면 이 매개변수는 무시됩니다.

sslrootcert

이 매개변수는 SSL을 포함하는 파일의 이름을 지정합니다 인증 기관(캘리포니아) 인증서. 파일이 존재하는 경우 서버의 인증서는 해당 기관 중 한 곳의 서명이 있는지 확인되어야 합니다. 기본값 이다~/.postgresql/root.crt.

sslcrl

이 매개변수는 SSL 인증서의 파일 이름을 지정합니다 폐기 목록(CRL). 이 파일에 나열된 인증서(있는 경우) 존재하는 경우 인증을 시도하는 동안 거부됩니다. 서버의 인증서. 기본값은~/.postgresql/root.crl.

requirepeer

이 매개변수는 운영 체제 사용자 이름을 지정합니다. 예를 들어 서버requirepeer=postgres. Unix 도메인 소켓 배트맨 토토을 할 때 이 매개변수가 설정하면 클라이언트는 배트맨 토토 시작 시 서버 프로세스가 지정된 사용자 이름으로 실행 중입니다. 그렇다면 그렇지 않으면 오류로 인해 배트맨 토토이 중단됩니다. 이 매개변수는 사용 가능한 것과 유사한 서버 인증을 제공하는 데 사용됩니다. TCP/IP 배트맨 토토에서 SSL 인증서를 사용합니다. (만약 Unix 도메인 소켓이 있음/tmp또는 다른 것 공개적으로 쓰기 가능한 위치에서는 모든 사용자가 서버 수신을 시작할 수 있습니다. 거기. 이 매개변수를 사용하여 배트맨 토토되어 있는지 확인하세요. 신뢰할 수 있는 사용자가 실행하는 서버입니다.) 이 옵션은 다음에서만 지원됩니다. 다음을 수행하는 플랫폼동료인증 방법이 구현되었습니다. 참조섹션 19.3.7.

krbsrvname

Kerberos 5로 인증할 때 사용할 Kerberos 서비스 이름 또는 GSSAPI. 서버에 지정된 서비스 이름과 일치해야 합니다. Kerberos 인증이 성공하도록 구성합니다. (또한 참조섹션 19.3.5그리고섹션 19.3.3.)

gsslib

GSSAPI 인증에 사용할 GSS 라이브러리. 다음에서만 사용됩니다. 윈도우. 으로 설정gssapilibpq를 강제로 인증을 위해 기본값 대신 GSSAPI 라이브러리를 사용하십시오. SSPI.

서비스

추가 매개변수에 사용할 서비스 이름. 이는 다음을 지정합니다. 서비스 이름 입력pg_service.conf그것 추가 배트맨 토토 매개변수를 보유합니다. 이를 통해 애플리케이션은 다음을 수행할 수 있습니다. 배트맨 토토 매개변수가 가능하도록 서비스 이름만 지정하십시오. 중앙에서 관리됩니다. 참조PostgreSQL : 문서 : 9.3 : 연결 서비스 토토.