이 기능은 기존 데이터베이스 토토 캔 객체.
팁 : libpq응용 프로그램 프로그래머가 있어야합니다 유지 관리 조심pgconn추상화. 아래에 설명 된 액세서 기능을 사용하십시오 의 내용을 얻으십시오.pgconn. 의 필드를 직접 참조하지 마십시오.pgconn구조가 주제이기 때문에 구조 미래에 변화. (시작postgresql릴리스 6.4, 정의 의struct뒤에서pgconn|libpq-fe.h. 오래된 코드가 있다면 액세스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
디버그를 반환tty13184_13290tty설정이지만 함수는 남아 있습니다 거꾸로 호환성을 위해.)
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. 일반적으로 괜찮은 상태입니다
까지 계속 남아있을 것입니다pqfinish
그러나 통신 실패
상태가로 변경 될 수 있습니다.Connection_Bad조기. 이 경우
응용 프로그램은 전화를 통해 복구하려고 시도 할 수 있습니다pqreset
.
입력 참조PQConnectStart
andpqconnectpoll
다른 사람과 관련하여
볼 수있는 상태 코드.
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
익숙해 질 수 있습니다
이 설정을 조사하십시오. 현재 값을 반환합니다
알려진 경우 매개 변수 또는NULLif
매개 변수는 알려져 있지 않습니다.
현재 릴리스에 따라보고 된 매개 변수server_version(변경할 수 없습니다 시작 후);client_encodi토토 캔, is_superuser, Session_Authorization및Datestyle.
pre-3.0 protocol 서버는 매개 변수를보고하지 않습니다
설정이지만libpq값을 얻는 논리 포함server_version및client_encodi토토 캔. 응용 프로그램이 권장됩니다
사용하려면PQPARAMETERSTATUS
이 값을 결정하기위한 임시 코드 대신. (조심하십시오
그러나 3.0 이전 연결에서 변경client_encodi토토 캔viaset토토 캔 시작 후
에 의해 반영됨PQPARAMETERSTATUS
.)
pqprotocolversion
프론트 엔드/백엔드 프로토콜을 심문합니다 사용된.
int pqprotocolversion (const pgconn *conn);
응용 프로그램은이를 사용하여 여부를 결정할 수 있습니다 특정 기능이 지원됩니다. 현재 가능합니다 값은 2 (2.0 프로토콜), 3 (3.0 프로토콜) 또는 0입니다. (연결이 나쁘다). 연결 후에는 변경되지 않습니다 스타트 업은 완료되었지만 이론적으로 변할 수 있습니다 재설정 중. 3.0 프로토콜은 일반적으로 다음에 사용됩니다 의사 소통PostgreSQL7.4 이상 서버; 7.4 이전 서버는 프로토콜 전용 프로토콜 2.0을 지원합니다. (프로토콜 1.0입니다 쓸모없고 지원되지 않음libpq.)
PQERRORMESSAGE
오류를 반환합니다 가장 최근에 작전에서 생성 된 메시지 토토 캔.
char * pqerrormessage (const pgconn * conn);
거의 모든libpq함수는에 대한 메시지를 설정합니다PQERRORMESSAGE
실패하면.libpq컨벤션, a
비어 비어PQERRORMESSAGE
결과는 후행 Newline을 포함합니다.
pqsocket
연결의 파일 디스크립터 번호를 얻습니다 서버에 소켓. 유효한 설명자가 더 커질 것입니다 0 이상 또는 동일; -1의 결과는 서버가 없음을 나타냅니다 연결이 현재 열려 있습니다. (이것은 바뀌지 않을 것입니다 정상 작동이지만 연결 설정 중에 변경 될 수 있습니다 또는 재설정)
int pqsocket (const pgconn *conn);
pqbackendpid
프로세스 반환id(PID)백엔드 서버 프로세스를 처리합니다 토토 캔.
int pqbackendpid (const pgconn *conn);
백엔드PIDIS 디버깅 목적 및 비교에 유용합니다Notify메시지 (포함PID백엔드 프로세스).PID| 로컬 호스트가 아닌 데이터베이스 서버 호스트!
pqgetssl
SSL을 반환합니다 연결에 사용 된 구조 또는 SSL이없는 경우 NULL 사용.
ssl *pqgetssl (const pgconn *conn);
이 구조는 암호화 레벨을 확인하는 데 사용될 수 있습니다. 서버 인증서 등을 확인하십시오. 참조OpenSSL문서 이 구조에 대한 정보.
정의해야합니다use_ssl순서대로 이 기능의 프로토 타입을 얻으려면. 이 일을 할 것입니다 또한 자동 포함SSL.HFromOpenSSL.