이 기능은 상태를 조사하는 데 사용될 수 있습니다. 기존 데이터베이스 토토 캔 개체입니다.
팁: libpq응용프로그램 프로그래머는 다음과 같아야 합니다. 유지관리에 주의하세요PGconn추상화. 아래에 설명된 접근자 기능을 사용하여 내용을 확인하세요.PGconn. 의 필드를 직접 참조하지 마세요.PGconn주제이기 때문에 구조화 앞으로는 변할 것이다. (시작부터)포스트그레SQL릴리스 6.4, 정의 의구조체뒤에PGconn제공되지도 않습니다libpq-fe.h. 오래된 코드가 있는 경우 액세스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);
상태는 여러 값 중 하나일 수 있습니다. 그러나,
이 중 두 개만 비동기식 외부에 표시됩니다.
토토 캔 절차:CONNECTION_OK그리고CONNECTION_BAD. 와의 좋은 토토 캔
데이터베이스에 상태가 있습니다.CONNECTION_OK. 실패한 토토 캔 시도
상태로 표시됩니다.CONNECTION_BAD. 일반적으로 OK 상태
까지 유지됩니다.PQfinish, 통신 실패
상태가 다음으로 변경될 수 있습니다.CONNECTION_BAD조기. 그 경우에는
애플리케이션이 호출을 통해 복구를 시도할 수 있습니다.PQreset.
다음 항목 참조PQconnectStart그리고PQconnectPoll기타 관련
표시될 수 있는 상태 코드입니다.
PQ트랜잭션상태현재 거래 중 상태를 반환합니다. 서버.
PGTransactionStatusType PQtransactionStatus(const PGconn *conn);
상태는 다음과 같습니다.PQTRANS_IDLE(현재 유휴 상태),PQTRANS_ACTIVE(명령이 진행 중입니다),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및날짜 스타일.
3.0 이전 프로토콜 서버는 매개변수를 보고하지 않습니다.
설정했지만,libpq값을 얻기 위한 논리를 포함합니다서버_버전및client_encoding. 신청을 권장합니다
사용하다PQ매개변수상태임시 코드 대신 이러한 값을 결정합니다. (조심하세요
그러나 3.0 이전 연결에서는 변경됩니다.client_encoding경유SET토토 캔 시작 후
반영됨PQ매개변수상태.)
PQ프로토콜 버전프런트엔드/백엔드 프로토콜을 조사합니다. 사용되었습니다.
int PQprotocolVersion(const PGconn *conn);
응용프로그램은 이를 사용하여 다음을 결정할 수 있습니다. 특정 기능이 지원됩니다. 현재 가능한 값은 2(2.0 프로토콜), 3(3.0 프로토콜) 또는 0입니다. (연결 불량). 연결 후에도 변경되지 않습니다. 시작이 완료되었지만 이론적으로는 변경될 수 있습니다. 재설정 중. 3.0 프로토콜은 일반적으로 다음과 같은 경우에 사용됩니다. 통신 중포스트그레SQL7.4 이상 서버; 7.4 이전 서버는 프로토콜 2.0만 지원합니다. (프로토콜 1.0은 더 이상 사용되지 않으며 지원되지 않음libpq.)
PQerrorMessage오류를 반환합니다. 가장 최근에 작업에 의해 생성된 메시지 토토 캔.
char *PQerrorMessage(const PGconn* conn);
거의 모든libpq함수는 메시지를 설정합니다PQerrorMessage실패할 경우. 다음을 참고하세요.libpq협약,
비어 있지 않음PQerrorMessage결과에는 후행 줄바꿈이 포함됩니다.
PQsocket연결의 파일 설명자 번호를 얻습니다. 서버에 소켓을 연결합니다. 유효한 설명자는 더 클 것입니다. 0 이상; -1의 결과는 서버가 없음을 나타냅니다. 현재 연결이 열려 있습니다. (이 기간 동안에는 변경되지 않습니다. 정상 작동하지만 연결 설정 중에 변경될 수 있음 또는 재설정합니다.)
int PQsocket(const PGconn *conn);
PQbackendPID프로세스를 반환합니다.ID(PID)이를 처리하는 백엔드 서버 프로세스의 토토 캔.
int PQbackendPID(const PGconn *conn);
백엔드PID이다 디버깅 목적과 비교에 유용합니다.알림메시지(포함PID알림의 백엔드 프로세스). 참고하세요PID다음에서 실행 중인 프로세스에 속합니다. 로컬 호스트가 아닌 데이터베이스 서버 호스트입니다!
PQgetsslSSL을 반환합니다. 토토 캔에 사용되는 구조이거나 SSL이 없는 경우 null입니다. 사용합니다.
SSL *PQgetssl(const PGconn *conn);
이 구조는 암호화 수준을 확인하는 데 사용할 수 있습니다. 서버 인증서 등을 확인하세요. 참조오픈SSL문서 이 구조에 대한 정보입니다.
정의해야 합니다.USE_SSL순서대로 이 함수의 프로토타입을 얻으려면 이렇게 하면 자동으로 포함됩니다ssl.hfrom오픈SSL.