윈 토토 : 문서 : 9.4 : 윈 토토 9.4.26 | |||
---|---|---|---|
PostgreSQL : 문서 : 9.4 : 데이터베이스 범퍼카 토토 제어 기능 | 토토 커뮤니티 : 문서 : 9.4 : LIBPQ -C 라이브러리 | 31 장.libpq-C 도서관 | PostgreSQL : 문서 : 9.4 : 토토 커뮤니티 실행 함수 |
이러한 기능은 기존 데이터베이스 토토 사이트 순위 객체의 상태를 조사하는 데 사용될 수 있습니다.
팁 : 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
디버그를 반환tty12275_12365tty설정이지만 기능은 후진 호환성을 위해 유지됩니다.)
char *pqtty (const pgconn *conn);
pqoptions
토토 사이트 순위 요청에 전달 된 명령 줄 옵션을 반환합니다.
char *pqoptions (const pgconn *conn);
다음 함수는 작업이 실행될 때 변경할 수있는 상태 데이터를 반환합니다pgconn개체.
PQSTATUS
토토 사이트 순위 상태를 반환합니다.
Connstatustype pqstatus (const pgconn *conn);
상태는 여러 값 중 하나 일 수 있습니다. 그러나이 중 두 가지만이 비동기 토토 사이트 순위 절차 외부에서 볼 수 있습니다.Connection_okandConnection_Bad. 데이터베이스에 대한 좋은 토토 사이트 순위은 상태가 있습니다Connection_ok. 실패한 토토 사이트 순위 시도는 상태에 따라 신호Connection_Bad. 일반적으로 OK 상태는까지 남아 있습니다.pqfinish
, 그러나 통신 실패로 인해 상태가 변경 될 수 있습니다Connection_Bad조기. 이 경우 응용 프로그램은 전화를 통해 복구하려고 시도 할 수 있습니다pqreset
.
입력 참조PQConnectStartParams
, PQConnectStart
및PQConnectPoll
반환 될 수있는 다른 상태 코드와 관련하여.
pqtransactionStatus
서버의 현재 전송 상태 상태를 반환합니다.
pgtransactionStatustype pqtransactionStatus (const pgconn *conn);
상태가 될 수 있습니다pqtrans_idle(현재 유휴 상태),pqtrans_active(명령이 진행 중),pqtrans_intrans(유효한 트랜잭션 블록에서 유휴) 또는pqtrans_inerror(유휴, 실패한 트랜잭션 블록).pqtrans_unknown토토 사이트 순위이 나쁘면보고됩니다.pqtrans_active쿼리가 서버로 전송되어 아직 완료되지 않은 경우에만보고됩니다.
PQPARAMETERSTATUS
서버의 현재 매개 변수 설정을 찾습니다.
const char *pqparameterstatus (const pgconn *conn, const char *paramname);
특정 매개 변수 값은 토토 사이트 순위 시작시 또는 값이 변경 될 때마다 서버에서 자동으로보고됩니다.PQPARAMETERSTATUS
이 설정을 조사하는 데 사용될 수 있습니다. 알려진 경우 매개 변수의 현재 값을 반환합니다.NULL매개 변수가 알려지지 않은 경우.
현재 릴리스에 따라보고 된 매개 변수는 포함server_version, Server_encoding, client_encoding, application_name, is_superuser, Session_Authorization, Datestyle, IntervalStyle, TimeZone, integer_datetimes및Standard_Conforming_strings. (Server_encoding, TimeZone및integer_dateTimes8.0 이전에 릴리스에 의해보고되지 않았다;Standard_Conforming_strings8.1 이전에 릴리스에 의해보고되지 않았습니다.IntervalStyle8.4 이전에 릴리스에 의해보고되지 않았습니다.Application_Name9.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, 즉, 백 슬래시는 문자열 리터럴에서 이스케이프로 취급됩니다. 또한이 매개 변수의 존재는 Escape String Syntax (임을 표시 할 수 있습니다.e '...')가 허용됩니다.
반환 된 포인터가 선언되었지만const, 실제로는와 관련된 Mutable Storage를 가리 킵니다.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.)
pqserverversion
백엔드 버전을 나타내는 정수를 반환합니다.
int pqserververion (const pgconn *conn);
응용 프로그램은이 기능을 사용하여 연결된 데이터베이스 서버의 버전을 결정할 수 있습니다. 이 숫자는 메이저, 마이너 및 개정 번호를 2/2 자리 숫자로 변환하여 함께 추가하여 형성됩니다. 예를 들어, 버전 8.1.5는 80105로 반환되고 버전 8.2는 80200으로 반환됩니다 (주요 제로는 표시되지 않음). 연결이 나쁘면 0이 반환됩니다.
PQERRORMESSAGE
토토 사이트 순위 작업에서 가장 최근에 생성 된 오류 메시지를 반환합니다.
char *pqerrormessage (const pgconn *conn);
거의 모든libpq함수는에 대한 메시지를 설정합니다PQERRORMESSAGE
실패하면.libpq컨벤션, 비어 비어PQERRORMESSAGE
결과는 여러 줄로 구성 될 수 있으며 후행 Newline이 포함됩니다. 발신자는 결과를 직접 자유롭게 해제해서는 안됩니다. 관련이 해방 될 것입니다pgconn핸들이 전달되었습니다pqfinish
. 결과 문자열은의 작업에서 동일하게 유지 될 것으로 예상되지 않아야합니다.pgconn구조.
pqsocket
서버에 연결 소켓의 파일 디스크립터 번호를 얻습니다. 유효한 설명자는 0보다 크거나 같아요. -1의 결과는 현재 서버 연결이 열리지 않음을 나타냅니다. (정상 작동 중에는 변경되지 않지만 연결 설정 또는 재설정 중에 변경 될 수 있습니다.)
int pqsocket (const pgconn *conn);
pqbackendpid
프로세스 반환id21257_21314
int pqbackendpid (const pgconn *conn);
백엔드PID디버깅 목적 및 비교에 유용합니다Notify메시지 (포함PID알림 백엔드 프로세스의).PID로컬 호스트가 아닌 데이터베이스 서버 호스트에서 실행되는 프로세스에 속합니다!
PQConnectionNeedSpassword
TRUE를 반환합니다 (1) 토토 사이트 순위 인증 메소드에 암호가 필요하지만 사용할 수있는 것은 없습니다. 거짓을 반환합니다 (0) 그렇지 않은 경우.
int pqconnectionneedspassword (const pgconn *conn);
이 함수는 실패한 후 사용자에게 암호를 신속하게할지 여부를 결정하려는 토토 사이트 순위 시도 후에 적용 할 수 있습니다.
PQConnectionusedPassword
TRUE를 반환합니다 (1) 토토 사이트 순위 인증 방법이 비밀번호를 사용한 경우. 거짓을 반환합니다 (0) 그렇지 않은 경우.
int pqconnectionusedpassword (const pgconn *conn);
이 기능은 서버가 암호를 요구했는지 여부를 감지하려는 실패 또는 성공적인 토토 사이트 순위 시도 후에 적용될 수 있습니다.
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에 액세스하십시오 */