다음 함수는 토토 꽁 머니을 처리합니다.포스트그레SQL백엔드 서버. 애플리케이션 프로그램에는 한 번에 여러 백엔드 토토 꽁 머니이 열려 있을 수 있습니다. (그렇게 하는 이유 중 하나는 둘 이상의 데이터베이스에 액세스하기 위한 것입니다.) 각 토토 꽁 머니은 다음으로 표시됩니다.PGconn함수에서 얻은 객체PQconnectdb, PQconnectdbParams또는PQsetdb로그인. 할당할 메모리가 너무 적은 경우를 제외하고 이러한 함수는 항상 null이 아닌 객체 포인터를 반환합니다.PGconn객체. 그만큼PQ상태토토 꽁 머니 객체를 통해 쿼리가 전송되기 전에 성공적인 토토 꽁 머니에 대한 반환 값을 확인하기 위해 함수를 호출해야 합니다.
신뢰할 수 없는 사용자가 다음을 채택하지 않은 데이터베이스에 접근할 수 있는 경우보안 스키마 사용 패턴, 공개적으로 쓰기 가능한 스키마를 제거하여 각 세션을 시작합니다.검색_경로. 매개변수 키워드를 설정할 수 있습니다.옵션값에-csearch_path=. 또는 발행할 수도 있습니다.PQexec(토토 꽁 머니 후. 이 고려 사항은 다음에만 국한되지 않습니다.libpq; 임의의 SQL 명령을 실행하기 위한 모든 인터페이스에 적용됩니다.콘, "SELECT pg_catalog.set_config('search_path', '', false)")
Unix에서는 열린 libpq 토토 꽁 머니로 프로세스를 분기하면 상위 프로세스와 하위 프로세스가 동일한 소켓과 운영 체제 리소스를 공유하기 때문에 예측할 수 없는 결과가 발생할 수 있습니다. 이러한 이유로 이러한 사용은 권장되지 않습니다.실행하위 프로세스에서 새 실행 파일을 로드하는 것은 안전합니다.
PQconnectdbParams데이터베이스 서버에 새로운 토토 꽁 머니을 만듭니다.
PGconn *PQconnectdbParams(const char * const *키워드,
const char * const *값,
int 확장_db이름);
이 함수는 두 매개변수에서 가져온 매개변수를 사용하여 새 데이터베이스 토토 꽁 머니을 엽니다.NULL-종료된 어레이. 첫 번째,키워드은 문자열 배열로 정의되며 각 문자열은 키워드입니다. 두 번째,값, 각 키워드의 값을 제공합니다. 같지 않은PQsetdb로그인아래에서 매개변수 세트는 함수 서명을 변경하지 않고 확장될 수 있으므로 이 함수(또는 비차단 아날로그)를 사용합니다.PQconnectStartParams그리고PQconnectPoll)은 새로운 애플리케이션 프로그래밍에 선호됩니다.
현재 인식된 매개변수 키워드는 다음에 나열되어 있습니다.섹션 33.1.2.
전달된 배열은 모든 기본 매개변수를 사용하기 위해 비어 있거나 하나 이상의 매개변수 설정을 포함할 수 있습니다. 길이가 일치해야 합니다. 처리가 처음부터 중지됩니다.NULL항목키워드배열. 또한 만약에값비-와 연관된 항목NULL 키워드항목은NULL또는 빈 문자열인 경우 해당 항목은 무시되고 다음 배열 항목 쌍으로 처리가 계속됩니다.
언제expand_dbname0이 아닌 경우 첫 번째 값db이름키워드가 다음과 같은지 확인합니다.토토 꽁 머니 문자열. 그렇다면 그렇군요“확장”문자열에서 추출된 개별 토토 꽁 머니 매개변수에 포함됩니다. 값에 등호()가 포함된 경우 데이터베이스 이름이 아닌 토토 꽁 머니 문자열로 간주됩니다.=) 또는 URI 체계 지정자로 시작됩니다. (토토 꽁 머니 문자열 형식에 대한 자세한 내용은 다음에 나와 있습니다.섹션 33.1.1.) 첫 번째 발생만db이름이런 식으로 처리됩니다. 모든 후속db이름매개변수는 일반 데이터베이스 이름으로 처리됩니다.
일반적으로 매개변수 배열은 처음부터 끝까지 처리됩니다. 키워드가 반복되면 마지막 값(즉,NULL또는 비어 있음)이 사용됩니다. 이 규칙은 특히 토토 꽁 머니 문자열에서 발견된 키워드가에 나타나는 키워드와 충돌할 때 적용됩니다.키워드배열. 따라서 프로그래머는 배열 항목을 토토 꽁 머니 문자열에서 가져온 값으로 재정의하거나 재정의할 수 있는지 여부를 결정할 수 있습니다. 확장 앞에 나타나는 배열 항목db이름항목은 토토 꽁 머니 문자열의 필드로 재정의될 수 있으며, 해당 필드는 뒤에 나타나는 배열 항목으로 재정의됩니다.db이름(그러나 해당 항목이 비어 있지 않은 값을 제공하는 경우에만 해당).
모든 배열 항목과 확장된 토토 꽁 머니 문자열을 처리한 후 설정되지 않은 상태로 남아 있는 모든 토토 꽁 머니 매개변수는 기본값으로 채워집니다. 설정되지 않은 매개변수의 해당 환경 변수(참조PostgreSQL : 문서 : 12 : 33.14. 환경 토토 핫)이 설정되면 해당 값이 사용됩니다. 환경 변수도 설정되지 않은 경우 매개변수에 내장된 기본값이 사용됩니다.
PQconnectdb데이터베이스 서버에 새로운 토토 꽁 머니을 만듭니다.
PGconn *PQconnectdb(const char *conninfo);
이 함수는 문자열에서 가져온 매개변수를 사용하여 새 데이터베이스 토토 꽁 머니을 엽니다.콘인포.
전달된 문자열은 모든 기본 매개변수를 사용하기 위해 비어 있을 수 있습니다. 또는 공백으로 구분된 하나 이상의 매개변수 설정을 포함할 수 있습니다. 또는 다음을 포함할 수 있습니다.URI. 보다섹션 33.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 *키워드,
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매개변수는 DNS 쿼리가 수행되지 않도록 적절하게 사용해야 합니다. 이 매개변수에 대한 문서를 참조하세요.섹션 33.1.2자세한 내용은.
부르신다면PQtrace, 추적하는 스트림 객체가 차단되지 않는지 확인하세요.
호출하기 전에 소켓이 적절한 상태인지 확인해야 합니다.PQconnectPoll, 아래 설명대로.
비차단 토토 꽁 머니 요청을 시작하려면 다음을 호출하세요.PQconnectStart또는PQconnectStartParams. 결과가 null이면, 다음은libpq새 항목을 할당할 수 없습니다.PGconn구조. 그렇지 않으면 유효한PGconn포인터가 반환됩니다(아직 데이터베이스에 대한 유효한 토토 꽁 머니을 나타내지는 않지만). 다음 통화PQ상태(conn). 결과가 다음과 같다면CONNECTION_BAD, 토토 꽁 머니 시도가 이미 실패했습니다. 일반적으로 잘못된 토토 꽁 머니 매개변수로 인해 발생합니다.
만약PQconnectStart또는PQconnectStartParams성공, 다음 단계는 설문 조사입니다.libpq그래서 토토 꽁 머니 순서를 진행할 수 있습니다. 사용PQsocket(콘)데이터베이스 토토 꽁 머니의 기본 소켓 설명자를 가져옵니다. (주의: 소켓이 동일하게 유지된다고 가정하지 마십시오.PQconnectPoll호출.) 다음과 같이 반복하세요: IfPQconnectPoll(conn)마지막 반환PGRES_POLLING_READING, 소켓이 읽을 준비가 될 때까지 기다립니다(다음으로 표시됨).선택(), 설문조사()또는 유사한 시스템 기능). 그럼 전화하세요PQconnectPoll(conn)다시. 반대로 만약에PQconnectPoll(conn)마지막 반환PGRES_POLLING_WRITING, 소켓이 쓸 준비가 될 때까지 기다린 후 호출PQconnectPoll(conn)다시. 첫 번째 반복에서, 즉 아직 전화하지 않은 경우PQconnectPoll, 마지막으로 반환된 것처럼 동작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_STARTUPSSL 암호화 협상 중.
CONNECTION_SETENV환경 기반 매개변수 설정을 협상하는 중입니다.
CONNECTION_CHECK_WRITABLE토토 꽁 머니이 쓰기 트랜잭션을 처리할 수 있는지 확인 중입니다.
CONNECTION_CONSUME토토 꽁 머니 시 남은 응답 메시지를 모두 소모합니다.
이러한 상수는 (호환성을 유지하기 위해) 유지되지만 응용 프로그램은 이러한 상수가 특정 순서로 발생하거나 전혀 의존해서는 안 되며 항상 문서화된 값 중 하나인 상태에 의존해서는 안 됩니다. 애플리케이션은 다음과 같은 작업을 수행할 수 있습니다.
스위치(PQstatus(conn))
사례 CONNECTION_STARTED:
Feedback = "토토 꽁 머니 중...";
부서지다;
사례 CONNECTION_MADE:
Feedback = "서버에 토토 꽁 머니되었습니다...";
부서지다;
.
.
.
기본:
Feedback = "토토 꽁 머니 중...";
그connect_timeout사용 시 토토 꽁 머니 매개변수가 무시됩니다.PQconnectPoll; 과도한 시간이 경과했는지 여부를 결정하는 것은 애플리케이션의 책임입니다. 그렇지 않으면,PQconnectStart다음에 aPQconnectPoll루프는 다음과 같습니다.PQconnectdb.
언제든지 주의하세요PQconnectStart또는PQconnectStartParams널이 아닌 포인터를 반환합니다. 호출해야 합니다.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토토 꽁 머니 문자열에 문제가 있는 경우. 이 함수는를 추출하는 데 사용할 수 있습니다.PQconnectdb33643_33728PQconninfo옵션null이 있는 항목으로 끝나는 구조키워드포인터.
모든 적법한 옵션이 결과 배열에 표시되지만PQconninfo옵션토토 꽁 머니 문자열에 없는 옵션의 경우발다음으로 설정됨NULL; 기본값은 삽입되지 않습니다.
만약errmsg아닙니다NULL그러면*errmsg다음으로 설정됨NULL성공 시, 그렇지 않으면 amalloc34408_34475*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 *keywords,
const char * const *값,
int 확장_db이름);
함수는 다음 값 중 하나를 반환합니다:
PQPING_OK서버가 실행 중이며 토토 꽁 머니을 수락하는 것 같습니다.
PQPING_REJECT서버가 실행 중이지만 토토 꽁 머니을 허용하지 않는 상태(시작, 종료 또는 충돌 복구)입니다.
PQPING_NO_RESPONSE서버에 접속할 수 없습니다. 이는 서버가 실행되고 있지 않거나, 지정된 토토 꽁 머니 매개변수에 문제가 있거나(예: 잘못된 포트 번호), 네트워크 토토 꽁 머니 문제(예: 방화벽이 토토 꽁 머니 요청을 차단함)가 있음을 나타낼 수 있습니다.
PQPING_NO_ATTEMPT제공된 매개변수가 분명히 부정확했거나 클라이언트 측 문제(예: 메모리 부족)가 있었기 때문에 서버에 접속하려는 시도가 이루어지지 않았습니다.
PQ핑PQ핑서버의 상태를 보고합니다. 다음과 동일한 토토 꽁 머니 매개변수를 허용합니다.PQconnectdb, 위에 설명되어 있습니다. 서버 상태를 얻기 위해 올바른 사용자 이름, 비밀번호 또는 데이터베이스 이름 값을 제공할 필요는 없습니다. 그러나 잘못된 값이 제공되면 서버는 실패한 토토 꽁 머니 시도를 기록합니다.
PGPing PQping(const char *conninfo);
반환 값은 다음과 동일합니다.PQpingParams.
여러libpq함수는 사용자가 지정한 문자열을 구문 분석하여 토토 꽁 머니 매개변수를 얻습니다. 이러한 문자열에는 일반 키워드/값 문자열과 URI라는 두 가지 형식이 허용됩니다. URI는 일반적으로 다음과 같습니다.RFC 3986, 단, 아래에 자세히 설명된 대로 다중 호스트 토토 꽁 머니 문자열이 허용된다는 점은 제외합니다.
키워드/값 형식에서 각 매개변수 설정은 다음과 같은 형식입니다.키워드 = 값, 설정 사이에 공백이 있습니다. 설정의 등호 주위에 있는 공백은 선택 사항입니다. 빈 값이나 공백이 포함된 값을 쓰려면 작은따옴표로 묶습니다. 예를 들어키워드 = '값'. 값 내의 작은따옴표와 백슬래시는 백슬래시로 이스케이프해야 합니다. 즉,\'그리고\\.
예:
호스트=localhost 포트=5432 dbname=mydb connect_timeout=10
인식된 매개변수 키워드는 다음에 나열되어 있습니다.섹션 33.1.2.
토토 꽁 머니의 일반 형식URI다음과 같습니다:
postgresql://[userspec@][호스트 사양][/db이름][?paramspec] 어디에서userspec다음과 같습니다:사용자[:비밀번호] 그리고hostspec다음과 같습니다: [호스트][:포트][,...] 그리고paramspec다음은:이름=값[&...]
그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 postgresql://host1:123,host2:456/somedb?target_session_attrs=any&application_name=myapp
일반적으로 계층 구조 부분에 나타나는 값URI또는 명명된 매개변수로 제공될 수 있습니다. 예를 들어:
postgresql:///mydb?host=localhost&port=5433
모든 명명된 매개변수는 다음에 나열된 키워드와 일치해야 합니다.섹션 33.1.2, JDBC 토토 꽁 머니과의 호환성을 위한 경우 제외URIs, 인스턴스ssl=true다음으로 번역됨sslmode=require.
퍼센트 인코딩은 다음 항목에 특별한 의미가 있는 기호를 포함하는 데 사용될 수 있습니다.URI부품, 예: 교체=와%3D.
호스트 부분은 호스트 이름 또는 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
단일 URI에서 각각 선택적 포트 구성 요소가 있는 여러 호스트 구성 요소를 지정할 수 있습니다. 형식의 URIpostgresql://host1:port1,host2:port2,host3:port3/다음 형식의 토토 꽁 머니 문자열과 동일합니다.호스트=호스트1,호스트2,호스트3 포트=포트1,포트2,포트3. 아래에 자세히 설명된 대로 토토 꽁 머니이 성공적으로 설정될 때까지 각 호스트가 차례로 시도됩니다.
토토 꽁 머니할 여러 호스트를 지정하여 주어진 순서대로 시도할 수 있습니다. 키워드/값 형식에서는호스트, 호스트주소및포트옵션은 쉼표로 구분된 값 목록을 허용합니다. 지정된 각 옵션에는 동일한 수의 요소가 제공되어야 합니다. 예를 들어 첫 번째호스트주소첫 번째 호스트 이름, 두 번째에 해당호스트주소두 번째 호스트 이름 등에 해당합니다. 단, 1개만인 경우는 예외로 합니다.포트이 지정되면 모든 호스트에 적용됩니다.
토토 꽁 머니 URI 형식에서는 여러 개 나열할 수 있습니다.호스트:포트다음에서 쉼표로 구분된 쌍호스트URI의 구성요소입니다.
어느 형식이든 단일 호스트 이름은 여러 네트워크 주소로 변환될 수 있습니다. 이에 대한 일반적인 예는 IPv4와 IPv6 주소가 모두 있는 호스트입니다.
여러 호스트가 지정되거나 단일 호스트 이름이 여러 주소로 변환되면 성공할 때까지 모든 호스트와 주소가 순서대로 시도됩니다. 어떤 호스트에도 토토 꽁 머니할 수 없으면 토토 꽁 머니이 실패합니다. 토토 꽁 머니이 성공적으로 설정되었지만 인증이 실패하면 목록에 있는 나머지 호스트는 시도되지 않습니다.
비밀번호 파일을 사용하는 경우, 호스트마다 다른 비밀번호를 가질 수 있습니다. 다른 모든 토토 꽁 머니 옵션은 목록의 모든 호스트에 대해 동일합니다. 예를 들어 호스트마다 다른 사용자 이름을 지정하는 것은 불가능합니다.
현재 인식되는 매개변수 키워드는 다음과 같습니다:
호스트토토 꽁 머니할 호스트의 이름.호스트 이름이 슬래시로 시작하면 TCP/IP 통신이 아닌 Unix 도메인 통신을 지정합니다. 값은 소켓 파일이 저장되는 디렉터리의 이름입니다. 기본 동작은 다음과 같습니다.호스트지정되지 않았거나 비어 있으면 Unix 도메인 소켓에 토토 꽁 머니하는 것입니다.in/tmp(또는 다음과 같은 경우에 지정된 소켓 디렉토리PostgreSQL빌드되었습니다). Unix 도메인 소켓이 없는 시스템에서는 기본값은 다음에 토토 꽁 머니하는 것입니다.로컬호스트.
쉼표로 구분된 호스트 이름 목록도 허용됩니다. 이 경우 목록의 각 호스트 이름이 순서대로 시도됩니다. 목록의 빈 항목은 위에서 설명한 대로 기본 동작을 선택합니다. 보다섹션 33.1.1.3자세한 내용은.
호스트주소토토 꽁 머니할 호스트의 숫자 IP 주소입니다. 이는 표준 IPv4 주소 형식이어야 합니다(예:172.28.40.9. 제품이 IPv6을 지원하는 경우 해당 주소를 사용할 수도 있습니다. 이 매개변수에 비어 있지 않은 문자열이 지정되면 TCP/IP 통신이 항상 사용됩니다.
사용 중호스트주소대신호스트애플리케이션이 호스트 이름 조회를 피할 수 있도록 허용합니다. 이는 시간 제약이 있는 애플리케이션에서 중요할 수 있습니다. 그러나 GSSAPI 또는 SSPI 인증 방법에는 호스트 이름이 필요합니다.확인-전체SSL 인증서 확인. 다음 규칙이 사용됩니다.
만약호스트없이 지정됨호스트주소, 호스트 이름 조회가 발생합니다. (사용시PQconnectPoll, 다음 경우에 조회가 발생합니다.PQconnectPoll먼저 이 호스트 이름을 고려하며 이로 인해 발생할 수 있습니다.PQconnectPoll상당한 시간 동안 차단합니다.)
만약호스트주소없이 지정됨호스트, 값은호스트주소서버 네트워크 주소를 제공합니다. 인증 방법에 호스트 이름이 필요한 경우 토토 꽁 머니 시도가 실패합니다.
둘 다인 경우호스트그리고호스트주소지정됨, 값은호스트주소서버 네트워크 주소를 제공합니다. 값은호스트인증 방법에서 요구하지 않는 한 무시되며, 이 경우 호스트 이름으로 사용됩니다.
다음의 경우 인증이 실패할 수 있다는 점에 유의하세요.호스트은 네트워크 주소에 있는 서버의 이름이 아닙니다hostaddr. 또한, 둘 다일 때호스트그리고hostaddr지정되었습니다.호스트비밀번호 파일에서 토토 꽁 머니을 식별하는 데 사용됩니다(참조윈 토토 : 문서 : 12 : 33.15. 암호 파일).
쉼표로 구분된 목록hostaddr값도 허용되며, 이 경우 목록의 각 호스트가 순서대로 시도됩니다. 목록의 항목이 비어 있으면 해당 호스트 이름이 사용되며, 비어 있는 경우 기본 호스트 이름도 사용됩니다. 보다섹션 33.1.1.3자세한 내용은.
호스트 이름이나 호스트 주소가 없으면,libpq로컬 Unix 도메인 소켓을 사용하여 토토 꽁 머니합니다. 또는 Unix 도메인 소켓이 없는 시스템에서는 토토 꽁 머니을 시도합니다.로컬호스트.
포트서버 호스트에 토토 꽁 머니할 포트 번호 또는 Unix 도메인 토토 꽁 머니을 위한 소켓 파일 이름 확장자.여러 호스트가 다음에 제공된 경우호스트또는호스트주소매개변수, 이 매개변수는 호스트 목록과 동일한 길이의 쉼표로 구분된 포트 목록을 지정하거나 모든 호스트에 사용할 단일 포트 번호를 지정할 수 있습니다. 빈 문자열 또는 쉼표로 구분된 목록의 빈 항목은 다음 경우에 설정된 기본 포트 번호를 지정합니다.PostgreSQL건축되었습니다.
db이름데이터베이스 이름. 기본값은 사용자 이름과 동일합니다. 특정 상황에서는 확장 형식에 대한 값이 확인됩니다. 보다섹션 33.1.1자세한 내용은.
사용자PostgreSQL토토 꽁 머니할 사용자 이름. 기본값은 애플리케이션을 실행하는 사용자의 운영 체제 이름과 동일합니다.
비밀번호서버가 비밀번호 인증을 요구할 경우 사용할 비밀번호입니다.
패스파일비밀번호를 저장하는 데 사용되는 파일의 이름을 지정합니다(참조윈 토토 : 문서 : 12 : 33.15. 암호 파일). 기본값은~/.pgpass또는%APPDATA%\postgresql\pgpass.confMicrosoft Windows의 경우. (이 파일이 존재하지 않으면 오류가 보고되지 않습니다.)
connect_timeout초 단위의 최대 토토 꽁 머니 대기 시간(10진수로 쓰기, 예:10). 0, 음수 또는 지정되지 않음은 무기한 대기를 의미합니다. 허용되는 최소 시간 초과는 2초이므로 값은1다음과 같이 해석됩니다.2. 이 시간 초과는 각 호스트 이름이나 IP 주소에 개별적으로 적용됩니다. 예를 들어 두 개의 호스트를 지정하고connect_timeoutis 5, 5초 이내에 토토 꽁 머니이 이루어지지 않으면 각 호스트가 시간 초과되므로 토토 꽁 머니을 기다리는 데 소요되는 총 시간은 최대 10초가 될 수 있습니다.
client_encoding이것은 다음을 설정합니다client_encoding이 토토 꽁 머니에 대한 구성 매개변수입니다. 해당 서버 옵션에서 허용하는 값 외에도 다음을 사용할 수 있습니다.자동클라이언트의 현재 로케일에서 올바른 인코딩을 결정합니다(LC_CTYPEUnix 시스템의 환경 변수).
옵션토토 꽁 머니 시작 시 서버에 보낼 명령줄 옵션을 지정합니다. 예를 들어, 이것을로 설정하면-c geqo=끄기세션 값을 설정합니다.geqo매개변수 ~꺼짐. 이 문자열 내의 공백은 백슬래시()로 이스케이프하지 않는 한 별도의 명령줄 인수로 간주됩니다.\); 쓰다\\문자 그대로 백슬래시를 나타냅니다. 사용 가능한 옵션에 대한 자세한 내용은 다음을 참조하세요.사설 토토 : 문서 : 12 : 19 장 서버 구성.
응용프로그램_이름에 대한 값을 지정합니다.응용프로그램_이름구성 매개변수.
fallback_application_name에 대한 대체 값을 지정합니다.응용프로그램_이름구성 매개변수. 이 값은 값이 제공되지 않은 경우 사용됩니다.응용프로그램_이름토토 꽁 머니 매개변수를 통해 또는PGAPPNAME환경 변수. 대체 이름을 지정하는 것은 기본 애플리케이션 이름을 설정하려고 하지만 사용자가 이를 재정의할 수 있도록 허용하는 일반 유틸리티 프로그램에 유용합니다.
토토 꽁 머니 유지클라이언트측 TCP 토토 꽁 머니 유지 사용 여부를 제어합니다. 기본값은 1(켜짐)이지만, 토토 꽁 머니 유지를 원하지 않는 경우 0(꺼짐)으로 변경할 수 있습니다. Unix 도메인 소켓을 통해 이루어진 토토 꽁 머니에서는 이 매개변수가 무시됩니다.
keepalives_idleTCP가 서버에 토토 꽁 머니 유지 메시지를 보내야 하는 비활성 시간(초)을 제어합니다. 0 값은 시스템 기본값을 사용합니다. Unix 도메인 소켓을 통해 이루어진 토토 꽁 머니이나 토토 꽁 머니 유지가 비활성화된 경우 이 매개변수는 무시됩니다. 다음과 같은 시스템에서만 지원됩니다.TCP_KEEPIDLE또는 이에 상응하는 소켓 옵션을 사용할 수 있으며 Windows에서는; 다른 시스템에서는 아무런 효과가 없습니다.
keepalives_interval서버가 승인하지 않은 TCP 토토 꽁 머니 유지 메시지가 재전송되어야 하는 시간(초)을 제어합니다. 0 값은 시스템 기본값을 사용합니다. Unix 도메인 소켓을 통해 이루어진 토토 꽁 머니이나 토토 꽁 머니 유지가 비활성화된 경우 이 매개변수는 무시됩니다. 다음과 같은 시스템에서만 지원됩니다.TCP_KEEPINTVL또는 이에 상응하는 소켓 옵션을 사용할 수 있으며 Windows에서는; 다른 시스템에서는 아무런 효과가 없습니다.
keepalives_count서버에 대한 클라이언트 토토 꽁 머니이 끊어진 것으로 간주되기 전에 손실될 수 있는 TCP 토토 꽁 머니 유지 수를 제어합니다. 0 값은 시스템 기본값을 사용합니다. Unix 도메인 소켓을 통해 이루어진 토토 꽁 머니이나 토토 꽁 머니 유지가 비활성화된 경우 이 매개변수는 무시됩니다. 다음과 같은 시스템에서만 지원됩니다.TCP_KEEPCNT또는 동등한 소켓 옵션을 사용할 수 있습니다. 다른 시스템에서는 아무런 효과가 없습니다.
tcp_user_timeout토토 꽁 머니이 강제로 종료되기 전에 전송된 데이터가 승인되지 않은 상태로 유지될 수 있는 시간(밀리초)을 제어합니다. 0 값은 시스템 기본값을 사용합니다. Unix 도메인 소켓을 통해 이루어진 토토 꽁 머니에서는 이 매개변수가 무시됩니다. 다음과 같은 시스템에서만 지원됩니다.TCP_USER_TIMEOUT사용 가능합니다. 다른 시스템에서는 아무런 효과가 없습니다.
티무시됨(이전에는 서버 디버그 출력을 보낼 위치를 지정했습니다).
복제이 옵션은 토토 꽁 머니이 일반 프로토콜 대신 복제 프로토콜을 사용해야 하는지 여부를 결정합니다. 이것이 PostgreSQL 복제 토토 꽁 머니 및 다음과 같은 도구입니다.pg_basebackup내부적으로 사용되지만 타사 응용 프로그램에서도 사용할 수 있습니다. 복제 프로토콜에 대한 설명은 참조하세요.PostgreSQL : 문서 : 12 : 52.4. 스포츠 토토 복제 프로토콜.
대소문자를 구분하지 않는 다음 값이 지원됩니다.
참, 켜짐, 예, 1토토 꽁 머니이 물리적 복제 모드로 들어갑니다.
데이터베이스토토 꽁 머니이 논리적 복제 모드로 전환되어 다음에 지정된 데이터베이스에 토토 꽁 머니됩니다.db이름매개변수.
거짓, 꺼짐, 아니요, 0토토 꽁 머니은 기본 동작인 일반적인 토토 꽁 머니입니다.
물리적 또는 논리적 복제 모드에서는 단순 쿼리 프로토콜만 사용할 수 있습니다.
gssencmode이 옵션은 보안 우선순위를 결정합니다.GSSTCP/IP 토토 꽁 머니이 서버와 협상됩니다. 세 가지 모드가 있습니다:
비활성화비-만 시도해 보세요.GSSAPI-암호화된 토토 꽁 머니
선호(기본값)있는 경우GSSAPI자격 증명이 있습니다(즉, 자격 증명 캐시에 있음). 먼저 a를 시도하세요.GSSAPI-암호화된 토토 꽁 머니; 실패하거나 자격 증명이 없으면 비-를 시도하십시오.GSSAPI-암호화된 토토 꽁 머니. 다음의 경우 기본값입니다.포스트그레SQL다음으로 컴파일되었습니다GSSAPI지원합니다.
요구한번만 시도해 보세요GSSAPI-암호화된 토토 꽁 머니
gssencmode65986_66041포스트그레SQL는 다음을 사용하여 GSSAPI 지원 없이 컴파일됩니다.요구옵션을 사용하면 오류가 발생하지만선호허용되지만libpq실제로는 시도하지 않습니다GSSAPI-암호화된 토토 꽁 머니.
sslmode이 옵션은 보안 우선순위를 결정합니다.SSLTCP/IP 토토 꽁 머니이 서버와 협상됩니다. 6가지 모드가 있습니다:
비활성화비-만 시도해 보세요.SSL토토 꽁 머니
허용먼저 비-를 시도해 보세요.SSL토토 꽁 머니; 실패하면 다음을 시도해 보세요.SSL토토 꽁 머니
선호(기본값)먼저 시도해보세요SSL토토 꽁 머니; 실패하면 비-를 시도하십시오.SSL토토 꽁 머니
요구한 번만 시도해보세요SSL토토 꽁 머니. 루트 CA 파일이 있는 경우 다음과 같은 방식으로 인증서를 확인합니다.verify-ca지정되었습니다
verify-ca한 번만 시도해보세요SSL토토 꽁 머니하고 서버 인증서가 신뢰할 수 있는 인증 기관에서 발급되었는지 확인하세요(캘리포니아)
전체 확인한 번만 시도해보세요SSL토토 꽁 머니, 서버 인증서가 신뢰할 수 있는 기관에서 발급되었는지 확인하세요.캘리포니아요청한 서버 호스트 이름이 인증서의 이름과 일치하는지 확인
참조섹션 33.18이러한 옵션의 작동 방식에 대한 자세한 설명을 참조하세요.
sslmode68988_69043포스트그레SQL옵션을 사용하여 SSL 지원 없이 컴파일됩니다.요구, verify-ca또는전체 확인오류가 발생하지만 옵션은허용그리고선호허용되지만libpq실제로는 시도하지 않습니다SSL토토 꽁 머니.
만약에 주의하세요GSSAPI암호화가 가능하며, 이는 우선적으로 사용됩니다.SSL암호화, 값에 관계없음sslmode. 강제로 사용하려면SSL작동 중인 환경의 암호화GSSAPI인프라(예: Kerberos 서버)도 설정됨gssencmode에비활성화.
requiressl이 옵션은 다음을 위해 더 이상 사용되지 않습니다.sslmode설정.
1로 설정하면,SSL서버 토토 꽁 머니이 필요합니다. (이는 다음과 같습니다.sslmode 요구). libpq서버가 승인하지 않으면 토토 꽁 머니을 거부합니다SSL토토 꽁 머니. 0(기본값)으로 설정하면,libpq서버와 토토 꽁 머니 유형을 협상합니다(동등함sslmode 선호). 이 옵션은 다음 경우에만 사용할 수 있습니다.PostgreSQLSSL 지원으로 컴파일되었습니다.
ssl압축1로 설정하면 SSL 토토 꽁 머니을 통해 전송된 데이터가 압축됩니다. 0으로 설정하면 압축이 비활성화됩니다. 기본값은 0입니다. SSL 없이 토토 꽁 머니되면 이 매개변수는 무시됩니다.
SSL 압축은 요즘 안전하지 않은 것으로 간주되어 더 이상 사용이 권장되지 않습니다.오픈SSL1.1.0은 기본적으로 압축을 비활성화하고 많은 운영 체제 배포판에서는 이전 버전에서도 압축을 비활성화하므로 서버가 압축을 허용하지 않는 경우 이 매개변수를 on으로 설정해도 아무런 효과가 없습니다. 반면에,오픈SSL1.0.0 이전에는 압축 비활성화를 지원하지 않으므로 해당 버전에서는 이 매개변수가 무시되며 압축 사용 여부는 서버에 따라 다릅니다.
보안이 주요 관심사가 아닌 경우 네트워크에 병목 현상이 있으면 압축을 통해 처리량이 향상될 수 있습니다. 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또는 공개적으로 쓰기 가능한 다른 위치에서 모든 사용자는 그곳에서 수신 대기하는 서버를 시작할 수 있습니다. 신뢰할 수 있는 사용자가 실행하는 서버에 토토 꽁 머니되어 있는지 확인하려면 이 매개변수를 사용하십시오.) 이 옵션은 다음을 수행하는 플랫폼에서만 지원됩니다.동료인증 방법이 구현되었습니다. 보다섹션 20.9.
krbsrvnameGSSAPI로 인증할 때 사용할 Kerberos 서비스 이름입니다. Kerberos 인증이 성공하려면 서버 구성에 지정된 서비스 이름과 일치해야 합니다. (또한 참조PostgreSQL : 문서 : 12 : 20.6. GSSAPI 스포츠 토토 베트맨.) 기본값은 일반적으로포스트그레, 하지만 빌드할 때 변경될 수 있습니다.PostgreSQL경유--with-krb-srvnam옵션구성. 대부분의 환경에서는 이 매개변수를 변경할 필요가 없습니다. 일부 Kerberos 구현에는 서비스 이름이 대문자여야 하는 Microsoft Active Directory와 같은 다른 서비스 이름이 필요할 수 있습니다(포스트그레스).
gsslibGSSAPI 인증에 사용할 GSS 라이브러리. 현재 이는 GSSAPI 및 SSPI 지원을 모두 포함하는 Windows 빌드를 제외하고 무시됩니다. 이 경우에는 다음과 같이 설정하세요.gssapilibpq가 인증을 위해 기본 SSPI 대신 GSSAPI 라이브러리를 사용하도록 합니다.
서비스추가 매개변수에 사용할 서비스 이름. 서비스 이름을 지정합니다.pg_service.conf추가 토토 꽁 머니 매개변수를 보유하고 있습니다. 이를 통해 애플리케이션은 서비스 이름만 지정하여 토토 꽁 머니 매개변수를 중앙에서 관리할 수 있습니다. 보다PostgreSQL : 문서 : 12 : 33.16. 연결 서비스 토토 캔.
target_session_attrs이 매개변수가 다음으로 설정된 경우읽기-쓰기, 기본적으로 읽기-쓰기 트랜잭션이 허용되는 토토 꽁 머니만 허용되는 것으로 간주됩니다. 쿼리SHOW transaction_read_only성공적인 토토 꽁 머니이 이루어지면 전송됩니다. 반환되는 경우켜짐, 토토 꽁 머니이 종료됩니다. 토토 꽁 머니 문자열에 여러 호스트가 지정된 경우 토토 꽁 머니 시도가 실패한 것처럼 나머지 서버가 모두 시도됩니다. 이 매개변수의 기본값은,모든, 모든 토토 꽁 머니을 허용 가능한 것으로 간주합니다.