이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 32.2. 토토 캔 상태 기능버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

27.2. 토토 캔 상태 기능

이 기능은 상태를 조사하는 데 사용될 수 있습니다. 기존 데이터베이스 토토 캔 개체입니다.

팁: 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트랜잭션상태줄 것이다 a를 사용할 때 잘못된 결과PostgreSQL7.3 서버 매개변수자동 커밋꺼짐으로 설정되었습니다. 서버 측 자동 커밋 기능에는 더 이상 사용되지 않으며 이후 서버에는 존재하지 않습니다. 버전.

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다음에서 실행 중인 프로세스에 속합니다. 로컬 호스트가 아닌 데이터베이스 서버 호스트입니다!

PQgetssl

SSL을 반환합니다. 토토 캔에 사용되는 구조이거나 SSL이 없는 경우 null입니다. 사용합니다.

SSL *PQgetssl(const PGconn *conn);

이 구조는 암호화 수준을 확인하는 데 사용할 수 있습니다. 서버 인증서 등을 확인하세요. 참조오픈SSL문서 이 구조에 대한 정보입니다.

정의해야 합니다.USE_SSL순서대로 이 함수의 프로토타입을 얻으려면 이렇게 하면 자동으로 포함됩니다ssl.hfrom오픈SSL.