Postgresql 9.1.24 문서 | ||||
---|---|---|---|---|
스포츠 토토 사이트 : 문서 : 9.1 : LIBPQ -C 라이브러리 | up | 31 장.libpq-C 라이브러리 | PostgreSQL : 문서 : 9.1 : 토토 결과 상태 기능 |
다음 기능은 a를 연결하는 것을 다룹니다.PostgreSQL백엔드 서버. an
애플리케이션 프로그램은 여러 백엔드 윈 토토을 열 수 있습니다
일회. (그렇게해야 할 이유 중 하나는 둘 이상의 액세스입니다.
데이터베이스.) 각 윈 토토은 A로 표시됩니다.pgconn객체
기능pqconnectdb
, PQCONNECTDBPARAMS
또는pqsetdblogin
. 이러한 기능은 그럴 것입니다
아마도없는 객체 포인터를 항상 반환하십시오.
할당하기에도 기억이 너무 적습니다pgconn개체. 그만큼PQSTATUS
함수를 선택하여 확인해야합니다
쿼리가 전송되기 전에 성공적인 윈 토토에 대한 반환 값
윈 토토 객체를 통해.
경고 |
UNIX에서 열린 LIBPQ 윈 토토로 프로세스를 포킹합니다
부모와 예측할 수없는 결과로 이어질 수 있습니다
아동 프로세스는 동일한 소켓과 작동을 공유합니다
시스템 리소스. 이러한 이유로, 그러한 사용법은 그렇지 않습니다
추천합니다. |
참고 :창에는 개선 방법이 있습니다 성능 단일 데이터베이스 연결이 반복적으로있는 경우 시작 및 종료. 내부적으로 libpq 호출
wsastartup ()
andwsacleanup ()
윈 토토 시작 및 각각 셧다운.wsastartup ()
내부 창을 증가시킵니다 에 의해 감소되는 라이브러리 참조 수wsacleanup ()
. 참조 수가있을 때 단지 하나, 전화wsacleanup ()
모든 리소스를 해제하고 모든 DLL이 언로드됩니다. 이것은입니다 비싼 운영. 이를 피하기 위해 응용 프로그램이 가능합니다 수동으로 전화wsastartup ()
마지막 데이터베이스 윈 토토은 리소스가 해제되지 않습니다. 폐쇄되었습니다.
PQCONNECTDBPARAMS
데이터베이스 서버에 새로운 윈 토토을합니다.
pgconn *pqconnectdbparams (const char ** 키워드, const char ** 값, int expand_dbname);
이 기능은 The를 사용하여 새 데이터베이스 윈 토토을 엽니 다
두 가지에서 가져온 매개 변수NULL-종결 된 배열. 첫 번째,키워드, 문자열 배열로 정의됩니다.
각각은 핵심 단어입니다. 두 번째,값, 각 키 단어의 값을 제공합니다.
같지 않은pqsetdblogin
아래,
매개 변수 세트는 변경하지 않고 확장 될 수 있습니다
기능 서명 이므로이 기능 (또는 그 기능을 사용하십시오
비 차단 아날로그PQConnectStartParams
andPQConnectPoll
)는 새로 선호됩니다
응용 프로그램 프로그래밍.
언제expand_dbname는 0이 아닙니다. 그만큼dbname키워드 값은입니다 A로 인정받을 수 있습니다Conninfo문자열. 아래를 참조하십시오 세부.
전달 된 배열은 모든 기본값을 사용하기 위해 비어있을 수 있습니다. 매개 변수 또는 하나 이상의 매개 변수 설정을 포함 할 수 있습니다. 길이가 일치해야합니다. 처리는 중지됩니다 마지막 비NULL요소키워드배열.
현재 인식 된 매개 변수 키 단어는 다음과 같습니다.
윈 토토할 호스트 이름. 이것이 시작되면 a 슬래시, 그것은 유닉스 도메인 커뮤니케이션을 지정합니다 TCP/IP 통신보다; 값은 이름입니다 소켓 파일이 저장된 디렉토리. 그만큼 기본 행동host지정되지 않은 것은 UNIX- 도메인에 윈 토토하도록합니다 소켓/tmp(또는 무엇이든 소켓 디렉토리는에 지정되었습니다.PostgreSQL건축). ~에 Unix-Domain 소켓이없는 기계는 기본입니다 윈 토토하려면LocalHost.
호스트의 숫자 IP 주소를 윈 토토합니다. 이것 표준 IPv4 주소 형식에 있어야합니다 (예 :172.28.40.9. 당신의 기계라면 IPv6을 지원하면 해당 주소를 사용할 수도 있습니다. TCP/IP 통신은 항상 비어있을 때 사용됩니다 이 매개 변수에 문자열이 지정되어 있습니다.
사용hostaddr대신host응용 프로그램을 허용합니다 호스트 이름 조회를 피하기 위해 시간 제약이있는 응용 프로그램에서 중요합니다. 그러나 Kerberos에는 호스트 이름이 필요합니다. GSSAPI 또는 SSPI 인증 방법 및 을 위한verify-fullSSL 인증서 확인. 다음 규칙은입니다 사용된:
ifhost지정되어 있습니다 없이hostaddr, 호스트 이름 조회가 발생합니다.
ifhostaddrIS 없이 지정host, 의 값hostaddr서버 네트워크 주소를 제공합니다. 윈 토토 인증 방법이 있으면 시도가 실패합니다 호스트 이름이 필요합니다.
둘 다hostandhostaddr지정되어 있습니다. 의 값hostaddr서버 네트워크 주소를 제공합니다. 의 값host가 아니라면 무시됩니다 인증 방법에는이를 요구합니다 케이스 호스트 이름으로 사용됩니다.
인증이 실패 할 가능성이 높습니다host의 이름이 아닙니다 네트워크 주소의 서버hostaddr. 또한,host보다는hostaddr를 식별하는 데 사용됩니다 연결~/.pgpass(참조젠 토토 : 문서 : 9.1 : 암호 파일).
호스트 이름 또는 호스트 주소가 없으면libpq연결됩니다 로컬 유닉스 도메인 소켓 사용; 또는 기계에서 유닉스 도메인 소켓이 없으면 시도 할 것입니다 연결LocalHost.
서버 호스트에서 연결할 포트 번호 또는 Unix-Domain의 소켓 파일 이름 확장 사이.
데이터베이스 이름. 기본값은 사용자 이름.
PostgreSQL사용자 연결할 이름. 기본값은 운영 체제를 실행하는 사용자의 이름 애플리케이션.
서버가 암호를 요구하는 경우 사용할 비밀번호 입증.
최대 연결 대기, 초 만에 소수 정수 문자열). 제로 또는 지정되지 않았습니다 무기한 기다리는 것을 의미합니다. 사용하는 것이 좋습니다 2 초 미만의 시간 초과.
이것은를 설정합니다client_encodi윈 토토구성 이 연결에 대한 매개 변수. 외에 해당 서버 옵션에 의해 허용되는 값, 사용할 수 있습니다autoto 현재 로케일에서 오른쪽 인코딩을 결정하십시오 클라이언트에서 (LC_CTYPEUNIX 시스템의 환경 변수).
서버로 보낼 명령 줄 옵션을 추가합니다 실행 시간. 예를 들어, 이것을 설정-C geqo = off세션 값을 설정합니다 의geqo매개 변수off. 상세하게 사용 가능한 옵션에 대한 토론, 상담18 장.
값을 지정application_name구성 매개 변수.
application_name구성 매개 변수. 이 값은 다음으로 사용됩니다 가치가 없습니다Application_Name연결을 통한 매개 변수 또는pgappname환경 변수. 폴백 이름을 지정하면 설정하려는 일반 유틸리티 프로그램에 유용합니다. 기본 응용 프로그램 이름이지만 허용합니다 사용자가 우선시합니다.
클라이언트 측 TCP 관리인 여부를 제어합니다 사용된. 기본값은 1이지만 의미하지만 keepalives가 아닌 경우 이것을 0으로 변경하십시오. 원해. 이 매개 변수는 연결에 대해 무시됩니다 유닉스 도메인 소켓을 통해 제작.
그 후 비 활동의 초 수를 제어합니다 어떤 TCP가 Keepalive 메시지를 보내야합니다 섬기는 사람. 0의 값은 시스템 기본값을 사용합니다. 이것 매개 변수는 a를 통해 이루어진 연결에 대해 무시됩니다 UNIX-Domain 소켓 또는 Keepalives가 비활성화 된 경우. 그것 시스템에서만 지원됩니다.TCP_KEEPIDLE또는TCP_KEEPALIVE소켓 옵션입니다 사용 가능하고 창에서; 다른 시스템에서는 그렇습니다 효과 없음.
TCP의 초 수를 제어합니다 The에 의해 인정되지 않은 Keepalive 메시지 서버를 재전송해야합니다. 제로 사용 값 시스템 기본값. 이 매개 변수는 무시됩니다 유닉스 도메인 소켓을 통한 연결 또는 IF Keepalives는 비활성화됩니다. 그것은 단지 지원됩니다 시스템TCP_KEEPINTVL소켓 옵션입니다 사용 가능하고 창에서; 다른 시스템에서는 그렇습니다 효과 없음.
| 클라이언트가 서버와 연결되기 전에 손실됩니다 죽은 고려. 0의 값은 시스템을 사용합니다 기본. 이 매개 변수는 연결에 대해 무시됩니다 유닉스 도메인 소켓을 통해 만들어 지거나 keepalives가 있습니다 장애가 있는. 그것은의 시스템에서만 지원됩니다TCP_KEEPCNT소켓 옵션입니다 사용 가능; 다른 시스템에서는 효과가 없습니다.
무시했습니다 (이전에 보낼 위치가 지정되었습니다 서버 디버그 출력).
이 옵션은 무엇을 결정하는지 여부를 결정합니다 우선 순위 보안SSLTCP/IP 윈 토토 서버와 협상. 6 가지 모드가 있습니다 :
비 만 시도해보십시오.SSLConnection
먼저 비 시도SSL윈 토토; 만약 그렇다면 실패, 시도SSLConnection
첫 번째 시도SSL윈 토토; 만약 그렇다면 실패, 비 시도SSLConnection
만 시도SSL윈 토토. 뿌리 인 경우 CA 파일이 있으시면 인증서를 확인하십시오 같은 방식verify-ca지정되었습니다
만 시도SSL윈 토토하고 확인하십시오 서버 인증서는 a 신뢰할 수있는 인증서 (CA)
만 시도SSL윈 토토하고 확인하십시오 서버 인증서는 신뢰할 수있는에 의해 발행됩니다.CA그리고 그 서버 호스트 이름은 그와 일치합니다 자격증
참조섹션 31.17이러한 옵션의 작동 방식에 대한 자세한 설명.
sslmode는 무시됩니다 유닉스 도메인 소켓 통신. 만약에PostgreSQL없이 편집되어 있습니다 SSL 지원, 옵션 사용요구, verify-ca, 또는verify-full동안 오류가 발생합니다 옵션허용and선호허용되지만libpq그렇지 않습니다 실제로 시도SSL윈 토토.
이 옵션은에 찬성하여 더 이상 사용되지 않습니다.sslmode설정.
1으로 설정된 경우, anSSL서버에 대한 연결은 다음과 같습니다 필수 (이것은에 해당합니다sslmode 요구).libpq그런 다음 거부합니다 서버가 수락하지 않으면 연결SSL윈 토토. 만약에 0으로 설정 (기본값),libpq협상 할 것입니다 서버와의 윈 토토 유형 (sslmode 선호). 이 옵션은 사용할 수 있습니다 만약에PostgreSQLis SSL 지원으로 편집.
이 매개 변수는 파일 이름을 지정합니다 클라이언트 SSL 인증서, 기본값 교체~/.postgresql/postgresql.crt. 이것 SSL 연결이 아닌 경우 매개 변수는 무시됩니다 만들어진.
이 매개 변수는 위치를 지정합니다 클라이언트 인증서에 사용되는 비밀 키. 할 수 있습니다 대신 사용될 파일 이름을 지정하십시오. 기본값~/.postgresql/postgresql.key또는 IT 외부에서 얻은 키를 지정할 수 있습니다"엔진"(엔진은OpenSSL로드 가능 모듈). 외부 엔진 사양이 있어야합니다 콜론으로 구분 된 엔진 이름과 엔진 별 키 식별자. 이 매개 변수입니다 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.5및섹션 19.3.3.)
GSSAPI 인증에 사용할 GSS 라이브러리. 오직 Windows에서 사용됩니다. 설정GSSAPIlibpq를 사용하도록 강제 대신 인증을위한 GSSAPI 라이브러리 기본 SSPI.
추가 매개 변수에 사용할 서비스 이름. 그것 서비스 이름을 지정pg_service.conf추가 보유 연결 매개 변수. 이것은 응용 프로그램을 허용합니다 서비스 이름 만 사용하여 연결 매개 변수 만 지정하십시오 중앙에서 유지 될 수 있습니다. 보다섹션 31.15.
매개 변수가 지정되지 않은 경우 해당 환경 변수 (참조섹션 31.13)가 확인되었습니다. 만약 환경 변수도 설정되지 않으며 표시됩니다 내장 기본값이 사용됩니다.
ifexpand_dbname는 0이 아닙니다
그리고dbname포함=사인, A로 간주됩니다.Conninfo정확히 같은 방식으로 문자열
통과 된 경우PQCONNECTDB
(아래 참조). 이전에
처리 된 키워드는의 핵심 단어로 무시됩니다ConninfoStri윈 토토.
일반적으로 키워드는 시작부터 처리됩니다. 이 배열은 색인 순서입니다. 이것의 효과는 그것입니다 키워드가 반복되면 마지막 처리 된 값은 유지. 따라서 신중한 배치를 통해dbname키워드, 가능합니다 a에 의해 재정의 할 수있는 것을 결정하려면Conninfo문자열, 그렇지 않은 것.
PQCONNECTDB
데이터베이스 서버에 새로운 윈 토토을합니다.
pgconn *pqconnectdb (const char *conninfo);
이 기능은 The를 사용하여 새 데이터베이스 연결을 엽니 다 문자열에서 가져온 매개 변수Conninfo.
전달 된 문자열은 모든 기본값을 사용하기 위해 비어있을 수 있습니다. 매개 변수 또는 하나 이상의 매개 변수를 포함 할 수 있습니다 중학교로 분리 된 설정. 각 매개 변수 설정입니다 형식으로키워드 = value. 동일한 부호 주변의 공간은 선택 사항입니다. 글을 쓰기 위해 빈 값 또는 공백이 포함 된 값은 단일 따옴표, 예 :키워드 = 'a 값'. 값 내의 단일 따옴표 및 백 슬래시 백 슬래시로 탈출해야합니다.\ '및\\.
현재 인식 된 매개 변수 키워드는입니다 위와 동일.
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포함=사인, A로 간주됩니다.Conninfo정확히 같은 방식으로 문자열
통과 된 경우PQCONNECTDB
및 나머지 매개 변수
그런 다음 위와 같이 적용됩니다.
PQSETDB
데이터베이스 서버에 새로운 윈 토토을합니다.
pgconn *pqsetdb (char *pghost, char *pgport, char *pgoptions, char *pgtty, char *dbname);
이것은 호출하는 매크로입니다pqsetdblogin
로그인및PWD매개 변수. 그것은 제공됩니다
아주 오래된 프로그램과의 역 호환성.
PQConnectStartParams
PQConnectStart
pqconnectpoll
a 비 차단 방식.
PGCONN *PQCONNECTSTARTPARAMS (Const Char ** 키워드, const char ** 값, int expand_dbname); pgconn *pqconnectstart (const char *conninfo); postgrespollingstatustype pqconnectpoll (pgconn *conn);
이 세 기능은
응용 프로그램의 스레드가되도록 데이터베이스 서버
그렇게하는 동안 원격 I/O에서 실행이 차단되지 않습니다. 그만큼
이 접근법의 요점은 I/O가 대기하는 것입니다.
오히려 애플리케이션의 기본 루프에서 완료가 발생할 수 있습니다
내부 아래에서PQCONNECTDBPARAMS
또는PQCONNECTDB
, 따라서 응용 프로그램이 가능합니다
이 작업을 다른 작업과 병렬로 관리하십시오
활동.
withPQConnectStartParams
,
데이터베이스 연결은 취한 매개 변수를 사용하여 이루어집니다
에서키워드및값배열 및 제어expand_dbname, 위에서 설명한대로pqconnectdbparams
.
withPQConnectStart
,
데이터베이스 연결은 가져온 매개 변수를 사용하여 작성됩니다
문자열Conninfo설명대로
위의PQCONNECTDB
.
아니PQConnectStartParams
NORPQConnectStart
NORpqconnectpoll
a
제한 수준이 충족됩니다 :
thehostaddrand호스트매개 변수는 적절하게 사용됩니다
해당 이름과 반대 이름 쿼리가
만들어진. 아래 에서이 매개 변수의 문서를 참조하십시오PQCONNECTDBPARAMS
위
자세한 내용은.
전화하면pqtrace
,
추적하는 스트림 객체가
차단하지 않습니다.
소켓이 적절한 지 확인하십시오
전화 전 상태PQCONNECTPOLL
43838_43873
참고 : 사용PQConnectStartParams
와 유사합니다PQConnectStart
표시
아래에.
비 차단 윈 토토 요청을 시작하려면 전화conn = pqConnectStart ( "Connection_info_string"). 만약에connlibpq할당 할 수 없었습니다
새로운pgconn구조.
그렇지 않으면 유효한pgconn포인터가 반환되었습니다 (아직 유효한 것을 나타내지는 않지만
데이터베이스 연결). 에서 돌아온시PQConnectStart
, Call상태 = pqstatus (conn). 만약에상태equalsConnection_Bad, PQConnectStart
실패했습니다.
ifPQConnectStart
성공, 다음 단계는 투표하는 것입니다libpq연결 순서. 사용pqsocket (conn)
설명자를 얻으려면
데이터베이스 연결의 기본 소켓 고리
따라서 : ifpqconnectpoll (conn)
마지막 반품pgres_polli윈 토토_readi윈 토토, 소켓까지 기다리십시오
읽을 준비가되었습니다 (select ()
, poll ()
또는 유사한 시스템 기능). 그 다음에
부르다pqconnectpoll (conn)
다시. 반대로, ifpqconnectpoll (conn)
마지막 반품pgres_polli윈 토토_writi윈 토토, 기다릴 때까지 기다리십시오
소켓이 쓸 준비가되었고 전화pqconnectpoll (conn)
다시. 당신이 있다면
아직 전화 할 것PQCONNECTPOLL
,
즉, 호출 직후PQConnectStart
는 마치 마치 마치 마치 행동합니다
반품pgres_polli윈 토토_writi윈 토토.
이 루프를 계속할 때까지PQConnectPoll (Conn)
반환pgres_polli윈 토토_failed,
윈 토토 절차가 실패했거나pgres_polli윈 토토_ok, 윈 토토을 나타냅니다
성공적으로 만들어졌습니다.
언제든지 연결하는 동안 언제든지
연결을 호출하여 확인할 수 있습니다PQSTATUS
. 이 호출이 반환되는 경우Connection_Bad, 그런 다음 연결 절차
실패했다. 통화가 반환되는 경우Connection_ok
, 연결은입니다
준비가 된. 이 두 상태는 모두에서 똑같이 감지 할 수 있습니다
반환 값PQConnectPoll
, 위에서 설명합니다. 다른
상태는 또한 (그리고 중에 만 발생할 수 있습니다
비동기 연결 절차. 이것들은
연결 절차의 현재 단계
예를 들어 사용자에게 피드백을 제공하는 데 유용합니다. 이것들
상태는 :
이 상수는 여전히 남아 있지만 (in 호환성을 유지하기 위해), 응용 프로그램이어야합니다 특정 순서로 발생하지 않거나 전혀, 또는 상태가 항상 이들 중 하나입니다. 문서화 된 값. 응용 프로그램은 같은 일을 할 수 있습니다 이것:
스위치 (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
.
PQCONNINFOPARSE
제공된 연결 옵션을 반환합니다 연결 문자열.
pqconninfooption *pqconninfoparse (const char *conninfo, char ** errmsg);
연결 문자열을 구문 분석하고 결과를 반환합니다
배열로서의 옵션; 또는 반환null연결 문자열. 이 기능은를 추출하는 데 사용될 수 있습니다.PQCONNECTDB
연결 문자열 제공. 반환 값은
배열pqconninfooption구조.키워드포인터.
문자열은 결과 배열에 값이 설정됩니다. 아니요 기본값이 삽입됩니다.
iferrmsgNULL,*errmsg로 설정되었습니다NULL성공에 대한
에이Malloc
'd 오류 문자열
문제를 설명합니다. (또한 가능합니다*errmsg로 설정하려면NULL그리고 반환 할 함수NULL; 이것은 메모리가 아닌 것을 나타냅니다
상태.)
옵션 배열을 처리 한 후 전달하여 자유롭게 해방하십시오PQCONNINFOFREE
. 이 경우
완료되지 않고, 각 호출마다 일부 메모리가 유출됩니다PQCONNINFOPARSE
. 거꾸로,
오류가 발생하면errmsgIS
아니다NULL, 오류를 제거하십시오
사용PQFREEMEM
.
pqfinish
서버에 대한 연결을 닫습니다. 또한 메모리를 해방시킵니다 에 의해 사용pgconn개체.
void pqfinish (pgconn *conn);
서버 윈 토토 시도가 실패하더라도 주목하십시오
(에 표시된대로PQSTATUS
),
신청서는 전화해야pqfinish
pgconn개체. 그만큼pgconn포인터를 다시 사용해서는 안됩니다
후에pqfinish
라고 불리는.
PQRESET
통신 채널을 서버로 재설정합니다.
void pqreset (pgconn *conn);
이 함수는 서버에 대한 연결을 닫습니다 그리고 같은 새로운 연결을 다시 설정하려고 이전에 사용한 동일한 매개 변수를 모두 사용하는 서버. 이것 작업 연결이 있으면 오류 복구에 유용 할 수 있습니다. 손실되었습니다.
PQRESETSTART
pqresetpoll
통신 채널을 서버로 재설정하십시오 비 차단 방식.
int pqresetstart (pgconn *conn); postgrespollingstatustype pqresetpoll (pgconn *conn);
이 기능은 서버에 대한 연결을 닫습니다
그리고 같은 새로운 연결을 다시 설정하려고
이전에 사용한 동일한 매개 변수를 모두 사용하는 서버. 이것
작업 연결이있는 경우 오류 복구에 유용 할 수 있습니다.
잃어버린. 그들은 다릅니다pqreset
(위) a
비 차단 방식. 이러한 기능은 동일하게 고통받습니다
제한PQConnectStartParams
, PQConnectStart
및PQCONNECTPOLL
.
윈 토토 재설정을 시작하려면 CallPQRESETSTART
. 0을 반환하면 재설정
실패했습니다. 1을 반환하면를 사용하여 재설정을 폴링합니다PQRESETPOLL
정확히
를 사용하여 연결을 생성하는 것과 마찬가지로pqconnectpoll
.
pqpi윈 토토params
pqpi윈 토토params
보고서
서버의 상태. 연결 매개 변수를 허용합니다
와 동일합니다PQCONNECTDBPARAMS
, 위에서 설명합니다. 그것은
그러나 올바른 사용자 이름을 공급할 필요는 없지만
서버를 얻기위한 비밀번호 또는 데이터베이스 이름 값
상태.
pgping pqpi윈 토토params (const char ** 키워드, const char ** 값, int expand_dbname);
함수는 다음 값 중 하나를 반환합니다.
서버가 실행 중이며 수락하는 것으로 보입니다 사이.
서버가 실행 중이지만 연결 (시작, 셧다운 또는 충돌로 연결됩니다 회복).
서버에 연락 할 수 없습니다. 이것은 할 수 있습니다 서버가 실행되지 않았 음을 나타냅니다 주어진 연결에 문제가 있습니다 매개 변수 (예 : 잘못된 포트 번호) 또는 그 매개 변수 네트워크 연결 문제가 있습니다 (예 : 연결 요청을 차단하는 방화벽).
서버에 연락하려는 시도는 없었습니다 제공된 매개 변수는 분명히 잘못되었습니다 클라이언트 측 문제가있었습니다 (예 : 예를 들어 메모리).
pqpi윈 토토
pqpi윈 토토
상태를보고합니다
서버의. 연결 매개 변수를 동일하게 허용합니다PQCONNECTDB
,
위에서 설명했습니다. 그러나 공급할 필요는 없습니다
올바른 사용자 이름, 암호 또는 데이터베이스 이름 값으로
서버 상태를 얻으십시오.
pgping pqpi윈 토토 (const char *conninfo);
반환 값은와 동일합니다pqpi윈 토토params
.