| PostgreSQL 9.1.24 문서 | ||||
|---|---|---|---|---|
| 이전 | 위로 | 31장.libpq- C 라이브러리 | 토토 커뮤니티 PostgreSQL : 문서 : 9.1 : 명령 실행 함수 | |
이 기능은 상태를 조사하는 데 사용할 수 있습니다. 기존 데이터베이스 토토 결과 개체입니다.
팁: 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);
상태는 여러 값 중 하나일 수 있습니다. 그러나,
이 중 두 개만 비동기식 외부에 표시됩니다.
토토 결과 절차: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(명령이 진행 중입니다),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프로세스를 반환합니다.ID24157_24222
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입니다.
SSL *PQgetssl(const PGconn *conn);
이 구조는 암호화 수준을 확인하는 데 사용할 수 있습니다. 서버 인증서 등을 확인하세요. 참조오픈SSL에 대한 문서 이 구조에 대한 정보입니다.
정의해야 합니다.USE_SSL순서대로 이 함수에 대한 올바른 프로토타입을 얻으려면 그렇게 하면서 또한 자동으로 포함됩니다ssl.hfrom오픈SSL.