| PostgreSQL 9.1.24 문서 | ||||
|---|---|---|---|---|
| 스포츠 토토 사이트 : 문서 : 9.1 : LIBPQ -C 라이브러리 | 위로 | 31장.libpq- C 라이브러리 | PostgreSQL : 문서 : 9.1 : 토토 결과 상태 기능 | |
다음 함수는 윈 토토을 처리합니다.PostgreSQL백엔드 서버. 안
응용프로그램은 여러 백엔드 윈 토토을 열어둘 수 있습니다.
한 번. (그렇게 하는 한 가지 이유는 둘 이상의
데이터베이스.) 각 윈 토토은 다음과 같이 표시됩니다.PGconn객체는 다음에서 얻습니다.
기능PQconnectdb, PQconnectdbParams또는PQsetdb로그인. 이러한 기능은
아마도 존재하지 않는 한 항상 null이 아닌 객체 포인터를 반환합니다.
할당하기에도 메모리가 너무 적습니다.PGconn객체.PQ상태함수를 호출하여 확인해야 합니다.
쿼리가 전송되기 전 성공적인 윈 토토에 대한 반환 값
윈 토토 개체를 통해.
| 경고 |
|
Unix에서 열린 libpq 윈 토토을 사용하여 프로세스를 포크합니다.
부모와
하위 프로세스는 동일한 소켓을 공유하고 운영됩니다.
시스템 리소스. 이러한 이유로 이러한 사용법은 허용되지 않습니다.
권장되지만, |
참고:Windows에서는 개선할 수 있는 방법이 있습니다 단일 데이터베이스 윈 토토이 반복적으로 수행되는 경우의 성능 시작 및 종료. 내부적으로 libpq 호출
WSA스타트업()그리고WSACleanup()윈 토토 시작 및 각각 종료됩니다.WSA스타트업()내부 Windows를 증가시킵니다. 다음과 같이 감소되는 라이브러리 참조 횟수WSACleanup(). 참조 카운트가 다음과 같을 때 하나만, 전화해.WSACleanup()모든 리소스를 해제하고 모든 DLL이 언로드됩니다. 이것은 값 비싼 작업. 이를 방지하기 위해 애플리케이션은 다음을 수행할 수 있습니다. 수동으로 호출WSA스타트업()그래서 마지막 데이터베이스 윈 토토 시 리소스가 해제되지 않습니다. 닫혀있습니다.
PQconnectdbParams데이터베이스 서버에 새로운 윈 토토을 만듭니다.
PGconn *PQconnectdbParams(const char **키워드, const char **값, int Expand_dbname);
이 함수는 다음을 사용하여 새 데이터베이스 윈 토토을 엽니다.
두 개에서 가져온 매개변수NULL-종료된 어레이. 첫 번째,키워드는 문자열 배열로 정의됩니다.
각각이 핵심 단어입니다. 두 번째,값, 각 키워드의 값을 제공합니다.
달리PQsetdb로그인아래,
매개변수 세트는 변경 없이 확장될 수 있습니다.
함수 서명이므로 이 함수(또는 그
비차단 아날로그PQconnectStartParams그리고PQconnectPoll)는 새 항목에 선호됩니다.
응용 프로그램 프로그래밍.
언제expand_dbname0이 아닙니다.db이름키워드 값은 다음과 같습니다. a로 인식되도록 허용됨콘인포문자열. 자세한 내용은 아래를 참조하세요. 세부사항.
전달된 배열은 모든 기본값을 사용하기 위해 비어 있을 수 있습니다 매개변수이거나 하나 이상의 매개변수 설정을 포함할 수 있습니다. 길이가 일치해야 합니다. 처리가 중지됩니다. 마지막 비-NULL요소키워드배열.
현재 인식되는 매개변수 키워드는 다음과 같습니다:
윈 토토할 호스트의 이름. 이것이 a로 시작하는 경우 슬래시는 오히려 Unix 도메인 통신을 지정합니다. TCP/IP 통신보다; 값은 이름입니다 소켓 파일이 저장되는 디렉터리입니다. 는 다음 경우의 기본 동작호스트지정되지 않은 것은 Unix 도메인에 윈 토토하는 것입니다 소켓 입력/tmp(또는 뭐든지 소켓 디렉토리는 다음과 같이 지정되었습니다.PostgreSQL건축되었습니다). 켜기 Unix 도메인 소켓이 없는 시스템의 경우 기본값은 다음과 같습니다. 윈 토토하려면로컬호스트.
윈 토토할 호스트의 숫자 IP 주소입니다. 이 표준 IPv4 주소 형식이어야 합니다(예:172.28.40.9. 당신의 기계라면 IPv6를 지원하는 경우 해당 주소를 사용할 수도 있습니다. TCP/IP 통신은 비어 있지 않은 경우 항상 사용됩니다. 이 매개변수에 문자열이 지정되었습니다.
사용 중hostaddr대신에호스트응용프로그램을 허용합니다 호스트 이름 조회를 피하기 위해 시간 제약이 있는 애플리케이션에서는 중요합니다. 단, Kerberos에는 호스트 이름이 필요합니다. GSSAPI 또는 SSPI 인증 방법은 물론 에 대한확인-전체SSL 인증서 확인. 다음 규칙은 사용됨:
만약호스트지정됨 없이hostaddr, 호스트 이름 조회가 발생합니다.
만약hostaddr이다 없이 지정됨호스트, 값은호스트주소서버 네트워크 주소를 제공합니다. 윈 토토 인증 방법이 실패하면 시도가 실패합니다. 호스트 이름이 필요합니다.
둘 다인 경우호스트그리고hostaddr지정되었습니다. 값은호스트주소서버 네트워크 주소를 제공합니다. 값은호스트다음이 아니면 무시됩니다. 인증 방법에서 이를 요구합니다. 경우에는 호스트 이름으로 사용됩니다.
다음의 경우 인증이 실패할 수 있다는 점에 유의하세요.호스트이름이 아닙니다 네트워크 주소의 서버호스트주소. 또한 참고하세요호스트대신호스트주소식별하는 데 사용됩니다. 윈 토토~/.pgpass(참조젠 토토 : 문서 : 9.1 : 암호 파일).
호스트 이름이나 호스트 주소가 없으면,libpq윈 토토됩니다 로컬 Unix 도메인 소켓을 사용합니다. 아니면 기계에서 Unix 도메인 소켓이 없으면 다음을 시도합니다. 윈 토토하다로컬호스트.
서버 호스트에 윈 토토할 포트 번호, 또는 Unix 도메인용 소켓 파일 이름 확장자 윈 토토.
데이터베이스 이름. 기본값은 사용자 이름.
PostgreSQL사용자 윈 토토할 이름입니다. 기본값은 운영 체제를 실행하는 사용자의 운영 체제 이름 신청합니다.
서버가 비밀번호를 요구할 경우 사용할 비밀번호 인증.
최대 윈 토토 대기 시간(초)(다음과 같이 작성) 10진수 문자열). 0 또는 지정되지 않음 무한정 기다리라는 뜻이다. 사용하지 않는 것이 좋습니다 2초 미만의 시간 초과.
이것은 다음을 설정합니다client_encodi윈 토토구성 이 윈 토토에 대한 매개변수입니다. 게다가 해당 서버 옵션에서 허용하는 값, 당신은 사용할 수 있습니다자동에 현재 로케일에서 올바른 인코딩을 결정합니다. 클라이언트에서 (LC_CTYPEUnix 시스템의 환경 변수).
서버에 보낼 명령줄 옵션을 추가합니다 런타임. 예를 들어, 이것을로 설정하면-c geqo=끄기세션 값을 설정합니다 의geqo매개변수 ~꺼짐. 자세한 내용은 사용 가능한 옵션에 대해 논의하고 문의하세요.18장.
에 대한 값을 지정합니다.응용프로그램_이름구성 매개변수.
에 대한 대체 값을 지정합니다.응용프로그램_이름구성 매개변수. 이 값은 다음과 같은 경우에 사용됩니다. 값이 제공되지 않았습니다.응용프로그램_이름윈 토토을 통해 매개변수 또는PGAPPNAME환경 변수. 대체 이름을 지정하는 것은 설정하려는 일반 유틸리티 프로그램에 유용합니다. 기본 애플리케이션 이름이지만 허용 사용자가 재정의했습니다.
클라이언트 측 TCP 윈 토토 유지 여부를 제어합니다 사용. 기본값은 1이며 켜짐을 의미하지만 다음을 수행할 수 있습니다. 이것을 0으로 변경하십시오. 즉, keepalive가 아닌 경우 꺼짐을 의미합니다. 원했다. 이 매개변수는 윈 토토 시 무시됩니다. Unix 도메인 소켓을 통해 만들어졌습니다.
이후 비활성 시간(초)을 제어합니다 어떤 TCP가 keepalive 메시지를 보내야 할까요? 서버. 0 값은 시스템 기본값을 사용합니다. 이 매개변수는 다음을 통해 이루어진 윈 토토에 대해 무시됩니다. Unix 도메인 소켓 또는 윈 토토 유지가 비활성화된 경우. 그것 다음과 같은 시스템에서만 지원됩니다.TCP_KEEPIDLE또는TCP_KEEPALIVE소켓 옵션은 사용 가능하며 Windows에서는 가능합니다. 다른 시스템에서는 효과가 없습니다.
TCP가 실행된 이후의 초 수를 제어합니다. 확인되지 않은 Keepalive 메시지 서버를 다시 전송해야 합니다. 0 값 사용 시스템 기본값. 이 매개변수는 다음에 대해 무시됩니다. Unix 도메인 소켓을 통해 이루어진 윈 토토, 또는 Keepalive가 비활성화되었습니다. 다음에서만 지원됩니다. 시스템은 다음과 같습니다.TCP_KEEPINTVL소켓 옵션은 사용 가능하며 Windows에서는 가능합니다. 다른 시스템에서는 효과가 없습니다.
TCP 윈 토토 유지 수를 제어합니다. 클라이언트와 서버의 윈 토토이 끊어지기 전에 끊어졌습니다. 죽은 것으로 간주됩니다. 0 값은 시스템을 사용합니다. 기본값. 이 매개변수는 윈 토토 시 무시됩니다. Unix 도메인 소켓을 통해 생성되거나 Keepalive가 있는 경우 장애인. 이는 다음과 같은 시스템에서만 지원됩니다.TCP_KEEPCNT소켓 옵션은 사용 가능; 다른 시스템에서는 아무런 효과가 없습니다.
무시됨(이전에는 보낼 위치를 지정했습니다.) 서버 디버그 출력).
이 옵션은 무엇을 사용할지 여부를 결정합니다. 우선 보안SSLTCP/IP 윈 토토은 서버와 협상했습니다. 6가지 모드가 있습니다:
비-만 시도해 보세요.SSL윈 토토
먼저 비-를 시도해보세요SSL윈 토토; 그렇다면 실패하면 시도해 보세요.SSL윈 토토
먼저 시도해보세요SSL윈 토토; 그렇다면 실패하면 비-를 시도해 보세요.SSL윈 토토
한 번만 시도해보세요SSL윈 토토. 뿌리라면 CA 파일이 있습니다. 인증서를 확인하세요. 마찬가지로 마찬가지입니다verify-ca지정되었습니다
한 번만 시도해보세요SSL윈 토토 및 확인 서버 인증서는 다음 기관에서 발급됩니다. 신뢰할 수 있는 인증 기관(캘리포니아)
한 번만 시도해보세요SSL윈 토토, 확인하세요 서버 인증서는 신뢰할 수 있는 기관에서 발급됩니다.캘리포니아그리고 그거 서버 호스트 이름이 인증서
참조섹션 31.17용 이러한 옵션의 작동 방식에 대한 자세한 설명입니다.
sslmode다음 기간 동안 무시됩니다. Unix 도메인 소켓 통신. 만일PostgreSQL없이 컴파일됩니다. SSL 지원, 옵션 사용요구, verify-ca또는확인-전체오류가 발생하지만 옵션허용그리고선호허용되지만libpq하지 않을 것입니다 실제로 시도해보세요SSL윈 토토.
이 옵션은 다음을 위해 더 이상 사용되지 않습니다.sslmode설정.
1로 설정하면,SSL서버 윈 토토이 필수(이것은 다음과 같습니다.sslmode 요구). libpq그러면 거절할 것입니다 서버가 승인하지 않으면 윈 토토하십시오.SSL윈 토토. 만약에 0(기본값)으로 설정,libpq협상할 것입니다. 서버와의 윈 토토 유형(동등함sslmode 선호). 이 옵션은 만일PostgreSQL이다 SSL 지원으로 컴파일되었습니다.
이 매개변수는 다음의 파일 이름을 지정합니다. 클라이언트 SSL 인증서, 기본값 대체~/.postgresql/postgresql.crt. 이 SSL 윈 토토이 아닌 경우 매개변수는 무시됩니다. 만들어졌습니다.
이 매개변수는 클라이언트 인증서에 사용되는 비밀 키입니다. 그것은 할 수 있다 대신 사용할 파일 이름을 지정하거나 기본값의~/.postgresql/postgresql.key또는 외부에서 얻은 키를 지정할 수 있습니다."엔진"(엔진은오픈SSL로드 가능 모듈). 외부 엔진 사양은 다음과 같습니다. 콜론으로 구분된 엔진 이름과 엔진별 키 식별자입니다. 이 매개변수는 SSL 윈 토토이 이루어지지 않으면 무시됩니다.
이 매개변수는 파일 이름을 지정합니다 SSL 인증 기관이 포함되어 있습니다(CA) 인증서. 파일의 경우 서버의 인증서가 확인됩니다. 이들 기관 중 한 곳의 서명을 받아야 합니다. 기본값은~/.postgresql/root.crt.
이 매개변수는 SSL의 파일 이름을 지정합니다. 인증서 해지 목록(CRL). 인증서 이 파일에 나열된 파일이 있으면 거부됩니다. 서버 인증을 시도하는 동안 인증서. 기본값은~/.postgresql/root.crl.
이 매개변수는 운영 체제 사용자를 지정합니다. 예를 들어 서버 이름requirepeer=postgres. 만들 때 Unix 도메인 소켓 윈 토토(이 매개변수가 다음인 경우) 설정하면 클라이언트는 시작 부분에서 확인합니다. 서버 프로세스가 실행되는 윈 토토 지정된 사용자 이름 그렇지 않은 경우 윈 토토 오류로 인해 중단되었습니다. 이 매개변수를 사용할 수 있습니다. 이와 유사한 서버 인증을 제공하기 위해 TCP/IP의 SSL 인증서와 함께 사용 가능 윈 토토. (Unix 도메인 소켓이 에서/tmp또는 다른 공개적으로 쓰기 가능한 위치, 모든 사용자가 서버를 시작할 수 있음 거기 듣고 있어요. 이 매개변수를 사용하여 다음을 확인하세요. 신뢰할 수 있는 사용자가 운영하는 서버에 윈 토토되어 있습니다.) 이 옵션은 다음과 같은 플랫폼에서만 지원됩니다.동료인증 방법이 구현됩니다. 참조섹션 19.3.7.
인증 시 사용할 Kerberos 서비스 이름 Kerberos 5 또는 GSSAPI를 사용합니다. 이는 다음과 일치해야 합니다. 서버 구성에 지정된 서비스 이름 Kerberos 인증이 성공하려면 (또한 참조섹션 19.3.5그리고섹션 19.3.3.)
GSSAPI 인증에 사용할 GSS 라이브러리. 만 Windows에서 사용됩니다. 으로 설정gssapilibpq가 다음을 사용하도록 강제합니다. 대신 인증을 위한 GSSAPI 라이브러리 기본 SSPI.
추가 매개변수에 사용할 서비스 이름입니다. 그것 서비스 이름을 지정합니다.pg_service.conf추가 보유 윈 토토 매개변수. 이를 통해 애플리케이션은 다음을 수행할 수 있습니다. 윈 토토 매개변수를 위해 서비스 이름만 지정 중앙에서 관리할 수 있습니다. 참조섹션 31.15.
매개변수가 지정되지 않은 경우 해당 환경 변수(참조섹션 31.13)가 확인되었습니다. 만약 환경 변수도 설정되지 않은 경우 표시된 내장된 기본값이 사용됩니다.
만약expand_dbname0이 아닙니다.
그리고db이름포함=sign, 그것은 다음과 같이 간주됩니다.콘인포문자열과 정확히 같은 방식으로
전달된 경우PQconnectdb(아래 참조). 이전에는
처리된 키워드는의 키워드로 재정의됩니다.콘인포문자열.
일반적으로 키워드는 다음의 처음부터 처리됩니다. 이 배열은 인덱스 순서로 되어 있습니다. 이것의 효과는 다음과 같습니다 키워드가 반복되면 마지막으로 처리된 값은 유지됩니다. 따라서 신중한 배치를 통해db이름키워드, 가능합니다 a에 의해 재정의될 수 있는 항목을 결정합니다.콘인포문자열, 그리고 그렇지 않을 수도 있습니다.
PQconnectdb데이터베이스 서버에 새로운 윈 토토을 만듭니다.
PGconn *PQconnectdb(const char *conninfo);
이 함수는 다음을 사용하여 새 데이터베이스 윈 토토을 엽니다. 문자열에서 가져온 매개변수콘인포.
전달된 문자열은 모든 기본값을 사용하기 위해 비어 있을 수 있습니다 매개변수 또는 하나 이상의 매개변수를 포함할 수 있습니다. 공백으로 구분된 설정입니다. 각 매개변수 설정은 형식으로키워드 = 값. 등호 주위의 공백은 선택 사항입니다. 작성하려면 빈 값 또는 공백이 포함된 값은 다음으로 묶습니다. 작은따옴표(예:키워드 = 'a 값'. 값 내의 작은따옴표 및 백슬래시 백슬래시로 이스케이프해야 합니다. 즉,\'그리고\\.
현재 인식되는 매개변수 키워드는 위와 같습니다.
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이름포함=sign, 그것은 다음과 같이 간주됩니다.콘인포문자열과 정확히 같은 방식으로
전달된 경우PQconnectdb및 나머지 매개변수
그러면 위와 같이 적용됩니다.
PQsetdb데이터베이스 서버에 새로운 윈 토토을 만듭니다.
PGconn *PQsetdb(char *pghost,
char *pgport,
char *pgoptions,
문자 *pgtty,
char *dbName);
이것은 호출하는 매크로입니다PQsetdb로그인에 대한 널 포인터 포함로그인그리고비밀번호매개변수. 다음을 위해 제공됩니다.
아주 오래된 프로그램과의 하위 호환성.
PQconnectStartParamsPQconnectStartPQconnectPoll다음에서 데이터베이스 서버에 윈 토토하십시오. 비차단 방식.
PGconn *PQconnectStartParams(const char **키워드,
const char **값,
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차단됩니다.
제한 사항 수가 충족되었습니다:
그호스트주소그리고호스트매개변수가 적절하게 사용되었습니다.
이름 및 역방향 이름 쿼리가 발생하지 않도록 하기 위해
만들어졌습니다. 다음 매개변수에 대한 문서를 참조하세요.PQconnectdbParams위
자세한 내용은.
부르신다면PQtrace,
추적하는 스트림 객체가
차단하지 마세요.
소켓이 적절한 위치에 있는지 확인하세요
전화하기 전 상태PQconnectPoll, 설명대로
아래.
참고: 다음의 사용PQconnectStartParams유사함PQconnectStart표시됨
아래.
비차단 윈 토토 요청을 시작하려면 다음을 호출하세요.conn = PQconnectStart("connection_info_stri윈 토토"). 만일콘null이면libpq할당할 수 없습니다.
새로운PGconn구조.
그렇지 않으면 유효한PGconn포인터가 반환됩니다(아직 유효한 값을 나타내지는 않지만).
데이터베이스에 윈 토토). 돌아오는 길에PQconnectStart, 전화상태 = PQ상태(conn). 만일상태같음CONNECTION_BAD, PQconnectStart실패했습니다.
만약PQconnectStart성공, 다음 단계는 설문 조사입니다.libpq그래서 다음 작업을 진행할 수 있습니다.
윈 토토 순서. 사용PQsocket(콘)설명자를 얻으려면
데이터베이스 윈 토토의 기본 소켓입니다. 루프
따라서: 만약PQconnectPoll(conn)마지막 반환PGRES_POLLI윈 토토_READI윈 토토, 소켓이 나올 때까지 기다리세요
읽을 준비가 되었습니다(다음으로 표시됨).선택(), 설문조사()또는 유사한 시스템 기능). 그런 다음
전화PQconnectPoll(콘)다시. 반대로 만약에PQconnectPoll(conn)마지막 반환PGRES_POLLI윈 토토_WRITI윈 토토, 까지 기다리세요
소켓이 쓸 준비가 된 다음 호출합니다.PQconnectPoll(conn)다시. 만약 당신이
아직 전화 안함PQconnectPoll,
즉, 호출 직후에PQconnectStart, 마지막인 것처럼 행동하세요
반환됨PGRES_POLLI윈 토토_WRITI윈 토토.
다음까지 이 루프를 계속하세요.PQconnectPoll(conn)반환PGRES_POLLI윈 토토_FAILED, 이는 다음을 나타냅니다.
윈 토토 절차가 실패했거나PGRES_POLLI윈 토토_OK, 윈 토토을 나타냄
성공적으로 만들어졌습니다.
윈 토토 중 언제든지 상태는
전화로 윈 토토을 확인할 수 있습니다PQ상태. 이 호출이 반환되는 경우CONNECTION_BAD다음 윈 토토 절차
실패했습니다. 전화가 돌아오면CONNECTION_OK그러면 윈 토토은 다음과 같습니다.
준비. 이 두 상태 모두에서 동일하게 감지할 수 있습니다.
반환 값PQconnectPoll, 위에 설명되어 있습니다. 기타
상태는 실행 중에(및 실행 중에만) 발생할 수도 있습니다.
비동기 윈 토토 절차. 이는 다음을 나타냅니다.
윈 토토 절차의 현재 단계이며
예를 들어 사용자에게 피드백을 제공하는 데 유용합니다. 이것들
상태는 다음과 같습니다:
이 상수는 그대로 유지되지만( 호환성을 유지하기 위해) 애플리케이션은 다음과 같이 해야 합니다. 이러한 일이 특정 순서로 발생한다고 절대 의존하지 마십시오. 전혀, 또는 항상 다음 중 하나인 상태 문서화된 값. 애플리케이션은 다음과 같은 작업을 수행할 수 있습니다. 이:
스위치(PQstatus(conn))
사례 CONNECTION_STARTED:
Feedback = "윈 토토 중...";
부서지다;
사례 CONNECTION_MADE:
Feedback = "서버에 윈 토토되었습니다...";
부서지다;
.
.
.
기본값:
Feedback = "윈 토토 중...";
그connect_timeout윈 토토
사용 시 매개변수가 무시됩니다.PQconnectPoll; 그것은 응용 프로그램의
과도한 금액인지 여부를 결정하는 책임
시간이 지났습니다. 그렇지 않으면,PQconnectStart다음에 aPQconnectPoll루프는와 동일합니다.PQconnectdb.
만약에 주의하세요PQconnectStartnull이 아닌 값을 반환합니다.
포인터를 호출해야 합니다.PQfinish작업이 끝나면,
구조물과 관련된 모든 것을 처분하기 위해
메모리 블록. 윈 토토이 되더라도 이 작업을 수행해야 합니다.
시도가 실패하거나 중단되었습니다.
PQconndefaults기본 윈 토토 옵션을 반환합니다.
PQconninfoOption *PQconndefaults(void);
typedef 구조체
char *키워드; /* 옵션의 키워드 */
char *envvar; /* 대체 환경 변수 이름 */
char *컴파일됨; /* 기본값으로 컴파일된 폴백 */
char *발; /* 옵션의 현재 값, 또는 NULL */
char *레이블; /* 윈 토토 대화 상자의 필드 레이블 */
char *dispchar; /* 이 필드를 표시하는 방법을 나타냅니다.
윈 토토 대화 상자에서. 값은 다음과 같습니다.
"" 입력된 값을 그대로 표시
"*" 비밀번호 필드 - 값 숨기기
"D" 디버그 옵션 - 기본적으로 표시되지 않음 */
int dispsize; /* 대화상자의 필드 크기(문자) */
PQconninfoOption;
윈 토토 옵션 배열을 반환합니다. 이것은 다음에 사용될 수 있습니다
가능한 모든 것을 결정PQconnectdb옵션 및 현재
기본값. 반환 값은의 배열을 가리킵니다.PQconninfo옵션구조,
null이 있는 항목으로 끝납니다.키워드포인터. 널 포인터는
메모리를 할당할 수 없는 경우 반환됩니다. 참고
현재 기본값(발필드)는 환경 변수 및 기타 사항에 따라 달라집니다.
맥락. 호출자는 윈 토토 옵션 데이터를 다음과 같이 처리해야 합니다.
읽기 전용입니다.
옵션 배열을 처리한 후 다음을 전달하여 해제하십시오.
그것을PQconninfoFree. 만약 이
완료되지 않으면 각각에 대해 소량의 메모리가 누출됩니다.
전화하세요PQconndefaults.
PQconninfoParse제공된 윈 토토 옵션에서 구문 분석된 윈 토토 옵션을 반환합니다. 윈 토토 문자열.
PQconninfoOption *PQconninfoParse(const char *conninfo, char **errmsg);
윈 토토 문자열을 구문 분석하고 결과를 반환합니다.
옵션을 배열로; 또는 반품NULL에 문제가 있는 경우
윈 토토 문자열. 이 함수는를 추출하는 데 사용할 수 있습니다.PQconnectdb옵션
제공된 윈 토토 문자열. 반환 값은 다음을 가리킵니다.
배열PQconninfo옵션null이 있는 항목으로 끝나는 구조키워드포인터.
다음에 명시적으로 지정된 옵션만 참고하세요. 문자열은 결과 배열에 설정된 값을 갖습니다. 아니 기본값이 삽입됩니다.
만약errmsg아닙니다NULL그러면*errmsg다음으로 설정됨NULL성공 시, 그렇지 않으면
에malloc' 오류 문자열
문제를 설명합니다. (또한 가능합니다.*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.
PQpi윈 토토ParamsPQpi윈 토토Params보고합니다
서버의 상태. 윈 토토 매개변수를 허용합니다.
와 동일PQconnectdbParams, 위에 설명되어 있습니다. 그것은
그러나 올바른 사용자 이름을 제공하는 데 반드시 필요한 것은 아닙니다.
서버를 얻기 위한 비밀번호 또는 데이터베이스 이름 값
상태.
PGPing PQpi윈 토토Params(const char **키워드, const char **값, int Expand_dbname);
함수는 다음 값 중 하나를 반환합니다:
서버가 실행 중이며 수락하는 것 같습니다 윈 토토.
서버가 실행 중이지만 다음 상태에 있습니다. 윈 토토을 허용하지 않습니다(시작, 종료 또는 충돌 회복).
서버에 접속할 수 없습니다. 이것은 아마도 서버가 실행되고 있지 않음을 나타냅니다. 주어진 윈 토토에 뭔가 문제가 있어요 매개변수(예: 잘못된 포트 번호) 또는 네트워크 윈 토토 문제가 있습니다(예: 윈 토토 요청을 차단하는 방화벽).
서버에 접속하려는 시도가 없었습니다. 왜냐하면 제공된 매개변수가 명백히 올바르지 않거나 클라이언트 측 문제가 있었습니다(예: 메모리).
PQ핑PQpi윈 토토상태를 보고합니다.
서버의. 동일한 윈 토토 매개변수를 허용합니다.
그들에게PQconnectdb,
위에서 설명한. 그러나 공급할 필요는 없습니다.
사용자 이름, 비밀번호 또는 데이터베이스 이름 값을 수정하여
서버 상태를 가져옵니다.
PGPing PQpi윈 토토(const char *conninfo);
반환 값은 다음과 동일합니다.PQpi윈 토토Params.