| PostgreSQL 9.3.25 문서 | ||||
|---|---|---|---|---|
| PostgreSQL : 문서 : 9.3 : 데이터베이스 배트맨 토토 제어 기능 | PostgreSQL : 문서 : 9.3 : LIBPQ -C 토토 커뮤니티 | 31장.libpq- C 라이브러리 | PostgreSQL : 문서 : 9.3 : 토토 커뮤니티 실행 함수 | |
이 기능은 상태를 조사하는 데 사용할 수 있습니다. 기존 데이터베이스 윈 토토 개체입니다.
팁: libpq응용 프로그램 프로그래머는 주의해서 유지해야 합니다.PGconn추상화. 접근자 기능 사용 내용을 보려면 아래에 설명되어 있습니다.PGconn. 내부 참조PGconn필드 사용libpq-int.h권장되지 않는 이유는 다음과 같습니다. 향후 변경될 수 있습니다.
다음 함수는 다음에서 설정된 매개변수 값을 반환합니다. 연결. 이 값은의 수명 동안 고정됩니다.PGconn객체.
PQdb윈 토토의 데이터베이스 이름을 반환합니다.
char *PQdb(const PGconn *conn);
PQuser윈 토토의 사용자 이름을 반환합니다.
char *PQuser(const PGconn *conn);
PQ패스윈 토토 비밀번호를 반환합니다.
char *PQpass(const PGconn *conn);
PQ호스트윈 토토의 서버 호스트 이름을 반환합니다.
char *PQhost(const PGconn *conn);
PQ포트윈 토토 포트를 반환합니다.
char *PQport(const PGconn *conn);
PQtty디버그를 반환합니다.TTY의 윈 토토. (서버가 더 이상 비용을 지불하지 않으므로 이는 더 이상 사용되지 않습니다. 주의TTY설정, 하지만 이전 버전과의 호환성을 위해 이 기능은 그대로 유지됩니다.)
char *PQtty(const PGconn *conn);
PQ옵션윈 토토에 전달된 명령줄 옵션을 반환합니다. 요구.
char *PQoptions(const PGconn *conn);
다음 함수는 다음과 같이 변경될 수 있는 상태 데이터를 반환합니다. 작업은에서 실행됩니다.PGconn객체.
PQ상태윈 토토 상태를 반환합니다.
ConnStatusType PQstatus(const PGconn *conn);
상태는 여러 값 중 하나일 수 있습니다. 다만, 단 2개
이들 중 비동기 윈 토토 절차 외부에서 볼 수 있습니다.CONNECTION_OK그리고CONNECTION_BAD. 데이터베이스에 대한 좋은 윈 토토
상태가 있습니다CONNECTION_OK. 실패했습니다
윈 토토 시도는 상태로 표시됩니다.CONNECTION_BAD. 일반적으로 OK 상태가 유지됩니다.
그래서 그때까지PQfinish하지만
통신 실패로 인해 상태가 다음으로 변경될 수 있습니다.CONNECTION_BAD조기. 그런 경우에는
애플리케이션은 다음을 호출하여 복구를 시도할 수 있습니다.PQreset.
다음 항목 참조PQconnectStartParams, PQconnectStart그리고PQconnectPoll기타 상태 코드에 관하여
반환될 수도 있습니다.
PQ트랜잭션상태서버의 현재 트랜잭션 진행 상태를 반환합니다.
PGTransactionStatusType PQtransactionStatus(const PGconn *conn);
상태는 다음과 같습니다.PQTRANS_IDLE(현재 유휴 상태),PQTRANS_ACTIVE(a 명령이 진행 중입니다),PQTRANS_INTRANS(유휴, 유효한 트랜잭션 블록에서) 또는PQTRANS_INERROR(유휴, 실패한 트랜잭션에서 차단하다).PQTRANS_UNKNOWN다음과 같은 경우 보고됩니다. 연결 상태가 좋지 않습니다.PQTRANS_ACTIVE이 쿼리가 서버로 전송되었지만 아직 전송되지 않은 경우에만 보고됩니다. 완전한.
| 주의 |
|
|
PQ매개변수상태서버의 현재 매개변수 설정을 조회합니다.
const char *PQparameterStatus(const PGconn *conn, const char *paramName);
특정 매개변수 값이 서버에 의해 보고됩니다
윈 토토 시작 시 또는 해당 값이 나타날 때마다 자동으로
변화.PQ매개변수상태사용 가능
이러한 설정을 조사합니다. 현재 값을 반환합니다.
알려진 경우 매개변수 또는NULL만약
매개변수를 알 수 없습니다.
현재 릴리스에서 보고된 매개변수는 다음과 같습니다.서버_버전, 서버_인코딩, client_encoding, 응용프로그램_이름, is_superuser, session_authorization, 날짜 스타일, 간격 스타일, 시간대, integer_datetimes및standard_conforming_strings. (서버_인코딩, 시간대, 그리고integer_datetimes다음에 의해 보고되지 않았습니다. 8.0 이전 릴리스;standard_conforming_strings다음에 의해 보고되지 않았습니다. 8.1 이전 릴리스;간격 스타일아님 8.4 이전 릴리스에서 보고됨;애플리케이션_이름이전 릴리스에서는 보고되지 않았습니다. 9.0.) 참고서버_버전, 서버_인코딩그리고integer_datetimes시작 후에는 변경할 수 없습니다.
3.0 이전 프로토콜 서버는 매개변수 설정을 보고하지 않지만libpq얻기 위한 논리가 포함되어 있습니다.
에 대한 값서버_버전그리고client_encoding어쨌든. 신청을 권장합니다
사용하다PQ매개변수상태대신임시코드를 사용하여 이 값을 결정합니다.
(그러나 3.0 이전 연결에서는 다음 사항이 변경된다는 점에 유의하세요.client_encoding경유세트윈 토토 시작 후 반영되지 않음PQ매개변수상태.) For서버_버전, 또한 참조PQ서버 버전, 다음의 정보를 반환합니다.
비교하기가 훨씬 쉬운 숫자 형식입니다.
다음 값이 없는 경우standard_conforming_strings이 보고되었습니다. 애플리케이션은 다음과 같다고 가정할 수 있습니다.꺼짐그건 즉, 백슬래시는 문자열 리터럴에서 이스케이프로 처리됩니다. 또한, 이 매개변수의 존재는 다음을 나타내는 것으로 간주될 수 있습니다. 이스케이프 문자열 구문(이'...')은 받아들여졌습니다.
반환된 포인터가 선언되었지만const, 실제로는 변경 가능한 저장소를 가리킵니다. 와 연관됨PGconn구조. 그것 포인터가 전체에서 유효하다고 가정하는 것은 현명하지 않습니다. 쿼리.
PQ프로토콜 버전사용 중인 프런트엔드/백엔드 프로토콜을 조사합니다.
int PQprotocolVersion(const PGconn *conn);
응용프로그램은 이 기능을 사용하여 다음을 결정할 수 있습니다. 특정 기능이 지원되는지 여부. 현재 가능한 값은 2(2.0 프로토콜), 3(3.0 프로토콜) 또는 0(연결)입니다. 나쁜). 연결 시작 후 프로토콜 버전은 변경되지 않습니다. 완료되었지만 이론적으로 연결 중에 변경될 수 있습니다. 다시 놓기. 3.0 프로토콜은 일반적으로 통신할 때 사용됩니다. 와 함께포스트그레SQL7.4 이상 서버; 7.4 이전 서버는 프로토콜 2.0만 지원합니다. (프로토콜 1.0 더 이상 사용되지 않으며 지원되지 않습니다.libpq.)
PQ서버버전백엔드 버전을 나타내는 정수를 반환합니다.
int PQserverVersion(const PGconn *conn);
응용 프로그램은 이 기능을 사용하여 버전을 확인할 수 있습니다. 연결된 데이터베이스 서버. 숫자는 다음과 같이 구성됩니다. 메이저, 마이너, 개정 번호를 다음으로 변환합니다. 두 개의 십진수 숫자를 함께 추가합니다. 예를 들어, 버전 8.1.5는 80105로 반환되고 버전 8.2는 80200으로 반환됩니다(선행 0은 표시되지 않음). 0이 반환됩니다. 연결이 나쁜 경우.
PQerrorMessage가장 최근에 생성된 오류 메시지를 반환합니다. 윈 토토에 대한 작업입니다.
char *PQerrorMessage(const PGconn *conn);
거의 모든libpq함수는
메시지 설정해 줘PQerrorMessage만약
그들은 실패합니다. 다음을 참고하세요.libpq규칙, 비어 있지 않음PQerrorMessage결과는 여러 줄로 구성될 수 있으며 후행을 포함합니다.
개행. 호출자는 결과를 직접 해제해서는 안 됩니다. 그것은 될 것이다
윈 토토된 경우 해제됨PGconn처리
다음으로 전달됩니다.PQfinish. 결과
문자열은 작업 전반에 걸쳐 동일하게 유지될 것으로 예상해서는 안 됩니다.
에PGconn구조.
PQsocket연결 소켓의 파일 설명자 번호를 얻습니다. 서버. 유효한 설명자는 0보다 크거나 같습니다. -1의 결과는 현재 서버 연결이 없음을 나타냅니다. 열려 있는. (정상 작동 중에는 변경되지 않지만, 연결 설정 또는 재설정 중에 변경됩니다.)
int PQsocket(const PGconn *conn);
PQbackendPID프로세스를 반환합니다.ID(PID) 이 연결을 처리하는 백엔드 프로세스의 내용입니다.
int PQbackendPID(const PGconn *conn);
백엔드PID다음에 유용합니다. 디버깅 목적 및 비교를 위해알림메시지(포함PID알림 백엔드 프로세스의). 메모 그PID다음에 속합니다. 로컬이 아닌 데이터베이스 서버 호스트에서 실행되는 프로세스 주인!
PQconnectionNeedsPassword연결 인증 방법이 일치하는 경우 true(1)를 반환합니다. 비밀번호가 필요했지만 사용할 수 있는 비밀번호가 없습니다. 다음과 같은 경우 거짓(0)을 반환합니다. 아니다.
int PQconnectionNeedsPassword(const PGconn *conn);
이 기능은 윈 토토 시도 실패 후에 적용될 수 있습니다 사용자에게 비밀번호를 묻는 메시지를 표시할지 여부를 결정합니다.
PQconnectionUsedPassword연결 인증 방법이 다음을 사용한 경우 true(1)를 반환합니다. 비밀번호. 그렇지 않은 경우 false(0)를 반환합니다.
int PQconnectionUsedPassword(const PGconn *conn);
이 기능은 실패 또는 성공 후에 적용될 수 있습니다. 서버가 요청했는지 여부를 감지하기 위한 윈 토토 시도 비밀번호.
PQgetssl윈 토토에 사용된 SSL 구조를 반환하거나 SSL인 경우 null을 반환합니다. 사용되지 않습니다.
void *PQgetssl(const PGconn *conn);
이 구조는 암호화 수준을 확인하는 데 사용할 수 있습니다. 서버 인증서 등. 참조오픈SSL정보에 대한 문서 이 구조.
실제 반환 값은 유형입니다.SSL *, 어디SSL는 다음에서 정의한 유형입니다.오픈SSL라이브러리이지만 그렇지 않습니다. 다음을 요구하지 않기 위해 이런 방식으로 선언했습니다.오픈SSL헤더 파일. 이 기능을 사용하려면, 다음 줄의 코드를 사용할 수 있습니다.
#include <libpq-fe.h
#include <openssl/ssl.h
...
SSL *ssl;
dbconn = PQconnectdb(...);
...
ssl = PQgetssl(dbconn);
만약 (ssl)
/* OpenSSL 기능을 사용하여 SSL에 액세스 */| 이전 | 배트맨 토토 : 문서 : 9.3 : 배트맨 토토 9.3.25 문서화 | 다음 |
| 데이터베이스 윈 토토 제어 기능 | PostgreSQL : 문서 : 9.3 : LIBPQ -C 토토 커뮤니티 | 명령 실행 기능 |