이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 32.2. 토토 캔 상태 기능버전 또는 위에 나열된 다른 지원되는 버전 중 하나입니다.

31.2. 윈 토토 상태 기능

이 기능은 기존 데이터베이스 윈 토토 객체.

팁 : libpq응용 프로그램 프로그래머는를 유지해야합니다.pgconn추상화. 액세서 기능을 사용하십시오 의 내용을 얻기 위해 아래에 설명 된pgconn. 내부 참조pgconn필드 사용libpq-int.h는 권장되지 않습니다 미래의 변화에 따라야.

다음 함수는 설정된 매개 변수 값을 반환합니다 연결. 이 값은의 수명을 위해 고정되어 있습니다.pgconn개체.

PQDB

윈 토토의 데이터베이스 이름을 반환합니다.

char *pqdb (const pgconn *conn);
PQUSER

윈 토토의 사용자 이름을 반환합니다.

char *pquser (const pgconn *conn);
pqpass

윈 토토의 비밀번호를 반환합니다.

char *pqpass (const pgconn *conn);
pqhost

윈 토토의 서버 호스트 이름을 반환합니다.

char *pqhost (const pgconn *conn);
PQPORT

윈 토토 포트를 반환합니다.

char *pqport (const pgconn *conn);
pqtty

디버그를 반환tty의 윈 토토. (서버가 더 이상 지불하지 않기 때문에 이것은 더 이상 사용되지 않습니다 에 대한 관심tty설정, 그러나이 기능은 후진 호환성을 위해 남아 있습니다.)

char *pqtty (const pgconn *conn);
pqoptions

윈 토토에 전달 된 명령 줄 옵션을 반환합니다 요구.

char *pqoptions (const pgconn *conn);

다음 함수는 변경할 수있는 상태 데이터를 반환합니다. 작업은에서 실행됩니다.pgconnObject.

PQSTATUS

윈 토토 상태를 반환합니다.

Connstatustype pqstatus (const pgconn *conn);

상태는 여러 값 중 하나 일 수 있습니다. 그러나 단지 두 개만 이 중 비동기 윈 토토 절차 외부에서 볼 수 있습니다.Connection_okandConnection_Bad. 데이터베이스와 잘 윈 토토됩니다 상태가 있습니다Connection_ok. 실패했습니다 윈 토토 시도는 상태에 따라 신호Connection_Bad. 일반적으로 괜찮은 상태가 남아 있습니다 그래서까지pqfinish그러나 a 커뮤니케이션 실패는 상태가 변경 될 수 있습니다Connection_Bad조기. 이 경우 응용 프로그램은 전화로 복구하려고 시도 할 수 있습니다pqreset.

입력 참조PQConnectStartParams, PQConnectStartandPQConnectPoll다른 상태 코드와 관련하여 반환 될 수 있습니다.

pqtransactionStatus

서버의 현재 이동 상태를 반환합니다.

pgtransactionStatustype pqtransactionStatus (const pgconn *conn);

상태가 될 수 있습니다pqtrans_idle(현재 유휴 상태),pqtrans_active(a 명령이 진행 중입니다),pqtrans_intrans(유효한 트랜잭션 블록의 유휴) 또는pqtrans_inerror(유휴, 실패한 트랜잭션 차단하다).pqtrans_unknown윈 토토이 나쁘다.pqtrans_activeis 쿼리가 서버로 전송 된 경우에만보고했지만 아직보고 완전한.

주의

pqtransactionStatus줄 것입니다 a를 사용할 때 잘못된 결과PostgreSQL7.3 매개 변수가있는 서버autocommitOFF로 설정합니다. 서버 측 자동 커밋 기능은 더 이상 사용되지 않았으며 나중에 존재하지 않습니다. 서버 버전.

PQPARAMETERSTATUS

서버의 현재 매개 변수 설정을 찾습니다.

const char *pqparameterstatus (const pgconn *conn, const char *paramname);

특정 매개 변수 값은 서버에서보고합니다 윈 토토 시작 또는 값이있을 때마다 자동으로 변화.PQPARAMETERSTATUS를 사용할 수 있습니다 이 설정을 조사하기 위해. a의 현재 값을 반환합니다 알려진 경우 매개 변수, 또는NULLif 매개 변수는 알려져 있지 않습니다.

현재 릴리스에 따라보고 된 매개 변수는 포함server_version, Server_encoding, client_encoding, Application_Name, is_superuser, Session_Authorization, Datestyle, IntervalStyle, TimeZone, integer_dateTimesStandard_Conforming_strings. (Server_encoding, TimeZone, 그리고integer_dateTimes는보고되지 않았습니다 8.0 이전에 출시;Standard_Conforming_strings8.1 이전에 출시;IntervalStyle그렇지 않았습니다 8.4 이전에 릴리스에 의해보고;Application_Name이전에 릴리스에 의해보고되지 않았습니다 9.0.) 참고Server_version, Server_encodingandinteger_dateTimes시작 후 변경할 수 없습니다.

Pre-3.0 Protocol 서버는 매개 변수 설정을보고하지 않지만libpq획득 할 논리가 포함되어 있습니다 에 대한 값server_versionandclient_encoding어쨌든. 응용 프로그램이 권장됩니다 사용하려면PQPARAMETERSTATUS대신adhoc코드이 값을 결정합니다. (그러나 3.0 사전 윈 토토에서는 변경client_encodingviaset윈 토토 시작 후PQPARAMETERSTATUS.) forServer_version, 참조pqserverversion, 정보를 반환합니다 비교하기가 훨씬 쉬운 숫자 형태.

값이없는 경우Standard_Conforming_strings보고되어 응용 프로그램은 그것을 가정 할 수 있습니다OFF, 그 IS, Backslashes는 문자열 리터럴에서 탈출로 취급됩니다. 또한, 이 매개 변수의 존재는 탈출 문자열 구문 (e '...') IS 수락.

반환 된 포인터가 선언되었지만const, 실제로는 변한 스토리지를 가리 킵니다 관련pgconn구조. 그것 포인터가 유효하다고 가정하는 것은 현명하지 않습니다. 쿼리.

pqprotocolversion

사용중인 프론트 엔드/백엔드 프로토콜을 심문합니다.

int pqprotocolversion (const pgconn *conn);

응용 프로그램은이 기능을 사용하여 결정할 수 있습니다 특정 기능이 지원되는지 여부. 현재 가능합니다 값은 2 (2.0 프로토콜), 3 (3.0 프로토콜) 또는 0 (연결 나쁜). 윈 토토 시작 후 프로토콜 버전이 변경되지 않습니다 완료되지만 연결 중에 이론적으로 변할 수 있습니다. 다시 놓기. 3.0 프로토콜은 일반적으로 의사 소통 할 때 사용됩니다 와 함께PostgreSQL7.4 이상 서버; 7.4 이전 서버는 프로토콜 전용 프로토콜 2.0을 지원합니다. (프로토콜 1.0 쓸모없고 지원되지 않습니다libpq.)

pqserververion

백엔드 버전을 나타내는 정수를 반환합니다.

int pqserververion (const pgconn *conn);

응용 프로그램은이 기능을 사용하여 버전을 결정할 수 있습니다. 연결된 데이터베이스 서버. 숫자는 다음에 의해 형성됩니다 메이저, 마이너 및 개정 번호를 전환합니다 2- 디지털 숫자와 함께 추가합니다. 예를 들어, 버전 8.1.5는 80105로 반환되며 버전 8.2는 80200으로 반환됩니다 (주요 제로는 표시되지 않음). 0이 반환됩니다 연결이 나쁘면.

PQERRORMESSAGE

가장 최근에 생성 된 오류 메시지를 반환합니다 윈 토토 작업.

char *pqerrormessage (const pgconn *conn);

거의 모든libpq함수는 에 대한 메시지 설정PQERRORMESSAGEif 그들은 실패합니다.libpq컨벤션, 비어 비어PQERRORMESSAGE결과는 여러 줄로 구성 될 수 있으며 후행을 포함합니다. Newline. 발신자는 결과를 직접 자유롭게 해제해서는 안됩니다. 그것은 될 것입니다 연관일 때 해방pgconn핸들 에 전달됩니다pqfinish. 결과 문자열은 작업에서 동일하게 유지 될 것으로 예상되지 않아야합니다. 에서pgconn구조.

pqsocket

연결 소켓의 파일 디스크립터 번호를 얻습니다. 서버. 유효한 설명자는 0보다 크거나 같아요. -1의 결과는 현재 서버 연결이 없음을 나타냅니다. 열려 있는. (이것은 정상 작동 중에는 변하지 않지만 할 수 있습니다 연결 설정 중에 변경 또는 재설정.)

int pqsocket (const pgconn *conn);
pqbackendpid

프로세스 반환id(PID) 이 윈 토토을 처리하는 백엔드 프로세스의.

int pqbackendpid (const pgconn *conn);

백엔드PID디버깅 목적 및 비교를 위해Notify메시지 포함PID알림 백엔드 프로세스의). 메모 그게PIDa 로컬이 아닌 데이터베이스 서버 호스트에서 실행되는 프로세스 주인!

PQConnectionNeedSpassword

윈 토토 인증 메소드 인 경우 true를 반환합니다 (1) 비밀번호가 필요했지만 사용할 수 없었습니다. if가 false (0)를 반환합니다 아니다.

int pqconnectionneedspassword (const pgconn *conn);

이 함수는 실패한 윈 토토 시도 후에 적용될 수 있습니다. 사용자에게 암호를 신뢰할 것인지 결정하려면

PQConnectionusedPassword

TRUE를 반환합니다 (1) 윈 토토 인증 메소드가 사용한 경우 비밀번호. 거짓을 반환합니다 (0) 그렇지 않은 경우.

int pqconnectionusedpassword (const pgconn *conn);

이 함수는 실패하거나 성공한 후에 적용 할 수 있습니다. 윈 토토 시도 서버가 a 비밀번호.

pqgetssl

연결에 사용 된 SSL 구조를 반환하거나 SSL 인 경우 NULL 사용 중이 아닙니다.

void *pqgetssl (const pgconn *conn);

이 구조는 암호화 레벨을 확인하는 데 사용될 수 있습니다. 서버 인증서 등. 참조OpenSSL정보에 대한 문서 이 구조.

실제 반환 값은 유형입니다SSL *, 어디SSLOpenSSL라이브러리이지만 그렇지 않습니다 이 방법을 요구하지 않도록OpenSSL헤더 파일. 이 기능을 사용하려면 다음 줄을 따라 코드를 사용할 수 있습니다.

#include <libpq-fe.h
#include <OpenSSL/SSL.H

...

    ssl *ssl;

    dbconn = pqconnectdb (...);
    ...

    ssl = pqgetssl (dbconn);
    if (ssl)

        / * OpenSSL 함수를 사용하여 SSL에 액세스하십시오 */