Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1 / 8.0 / 7.4
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

31.2. Chức năng trạng thái soi kèo bóng đá truoctran

các chức năng này có thể được sử dụng để thẩm vấn trạng thái của một Đối tượng soi kèo bóng đá truoctran cơ sở dữ liệu hiện có.

Tip: libpqLập trình viên ứng dụng nên cẩn thận để duy trìPGConnTrừu tượng. Sử dụng Các chức năng của người phụ kiện được mô tả bên dưới để có được nội dung củaPGConn. Tham khảo nội bộPGConnTrường sử dụnglibpq-int.hkhông được khuyến nghị vì chúng có thể thay đổi trong tương lai.

Các chức năng sau đây trả về các giá trị tham số được thiết lập tại sự liên quan. Các giá trị này được cố định cho tuổi thọ củaPGConnĐối tượng.

PQDB

Trả về tên cơ sở dữ liệu của soi kèo bóng đá truoctran.

char *pqdb (const pgconn *Conn);
PQUSER

Trả về tên người dùng của soi kèo bóng đá truoctran.

char *pquser (const pgconn *Conn);
PQPass

Trả về mật khẩu của soi kèo bóng đá truoctran.

Char *PQPass (const pgconn *Conn);
PQHOST

Trả về tên máy chủ máy chủ của soi kèo bóng đá truoctran.

char *pqhost (const pgconn *Conn);
PQPort

Trả về cổng soi kèo bóng đá truoctran.

char *pqport (const pgconn *Conn);
PQTTY

Trả về bản gỡ lỗittycủa soi kèo bóng đá truoctran. (Điều này là lỗi thời, vì máy chủ không dài hơn chú ý đếnttyCài đặt, nhưng chức năng vẫn còn để tương thích ngược.)

char *pqtty (const pgconn *Conn);
PQOptions

Trả về các tùy chọn dòng lệnh được truyền trong Yêu cầu soi kèo bóng đá truoctran.

char *pqoptions (const pgconn *Conn);

Các chức năng sau đây trả về dữ liệu soi kèo bóng đá truoctran có thể thay đổi dưới dạng Các hoạt động được thực thi trênPGConnĐối tượng.

pqstatus

Trả về trạng thái của soi kèo bóng đá truoctran.

ConnstatusType pqStatus (const pgconn *Conn);

Trạng thái có thể là một trong một số giá trị. Tuy nhiên, Chỉ có hai trong số này được nhìn thấy bên ngoài một Quy trình soi kèo bóng đá truoctran:Connection_okConnection_Bad. Một soi kèo bóng đá truoctran tốt với cơ sở dữ liệu có trạng tháiConnection_ok. Một nỗ lực soi kèo bóng đá truoctran thất bại được báo hiệu bởi trạng tháiConnection_Bad. Thông thường, soi kèo bóng đá truoctran OK sẽ vẫn như vậy cho đến khipqfinish, nhưng thất bại truyền thông có thể dẫn đến soi kèo bóng đá truoctran thay đổi thànhConnection_Badsớm. Trong trường hợp đó Ứng dụng có thể cố gắng khôi phục bằng cách gọipqreset.

Xem mục choPQConnectStartParams, PQConnectStartPQConnectPollLiên quan đến người khác Mã soi kèo bóng đá truoctran có thể được trả về.

PQTransactionStatus

Trả về soi kèo bóng đá truoctran chuyển đổi hiện tại của máy chủ.



        

soi kèo bóng đá truoctran có thể làPQTRANS_IDLE(hiện đang nhàn rỗi),pqtrans_active(một lệnh đang được tiến hành),pqtrans_intrans(nhàn rỗi, trong một hợp lệ khối giao dịch) hoặcpqtrans_inerror(nhàn rỗi, trong một thất bại khối giao dịch).PQTRANS_UNKNOWNđược báo cáo nếu soi kèo bóng đá truoctran là xấu.pqtrans_activechỉ được báo cáo khi truy vấn đã được gửi đến máy chủ và chưa hoàn thành.

THẬN TRỌNG

PQTransactionStatussẽ cho soi kèo bóng đá truoctran quả không chính xác khi sử dụngPostgreSQL7.3 Máy chủ có tham sốAutoCommitĐặt thành TẮT. Tính năng AutoCommit phía máy chủ có không bị từ chối và không tồn tại trong máy chủ sau này phiên bản.

PQParameterstatus

Xem lên cài đặt tham số hiện tại của máy chủ.

const char *pqparameterstatus (const pgconn *Conn, const char *paramname);

Giá trị tham số nhất định được báo cáo bởi máy chủ tự động khi khởi động soi kèo bóng đá truoctran hoặc bất cứ khi nào giá trị thay đổi.PQParameterstatuscó thể được sử dụng để thẩm vấn các cài đặt này. Nó trả về giá trị hiện tại của tham số nếu được biết hoặcnullNếu tham số không được biết.

tham số được báo cáo kể từ bản phát hành hiện tại bao gồmserver_version, server_encoding, client_encoding, application_name, is_superuser, session_Authorization, Datestyle, IntervalStyle, timezone, integer_datetimesStandard_Conforming_Strings. (server_encoding, timezoneinteger_datetimeskhông được báo cáo bởi phát hành trước 8.0;Standard_Conforming_Stringskhông được báo cáo bằng cách phát hành trước 8.1;IntervalStylekhông được báo cáo bởi các bản phát hành Trước 8.4;application_namewas không được báo cáo bởi các bản phát hành trước 9.0.) Lưu ý rằngserver_version, server_encodinginteger_datetimesKhông thể thay đổi sau Khởi nghiệp.

Máy chủ Pre-3.0-Protocol không báo cáo tham số Cài đặt, nhưnglibpqBao gồm logic để có được giá trị choserver_versionclient_encodingDù sao. Ứng dụng là được khuyến khích sử dụngPQParameterstatuschứ không phảiad hocMã để xác định các giá trị này. (Tuy nhiên, hãy cẩn thận với soi kèo bóng đá truoctran Pre-3.0, thay đổiclient_encodingViasetSau khi soi kèo bóng đá truoctran khởi động sẽ không được phản ánh bởiPQParameterstatus.) Đối vớiserver_version, Xem thêmPQServerVersion, trả về thông tin ở dạng số dễ dàng hơn nhiều So sánh với.

Nếu không có giá trị choStandard_conforming_stringsđược báo cáo, Các ứng dụng có thể giả sử đó làOff,, nghĩa là, các dấu gạch chéo ngược được coi là trốn thoát trong chuỗi nghĩa đen. Ngoài ra, sự hiện diện của tham số này có thể được thực hiện như một dấu hiệu cho thấy cú pháp chuỗi thoát (E '...') được chấp nhận.

Mặc dù con trỏ được trả về được khai báoconst, Thực tế nó chỉ vào bộ lưu trữ có thể thay đổi được liên soi kèo bóng đá truoctran vớiPGConnCấu trúc. Không khôn ngoan khi cho rằng con trỏ sẽ vẫn còn hợp lệ trên các truy vấn.

PQProtocolVersion

Truy cập giao thức Frontend/phụ trợ đã sử dụng.

int pqProtocolVersion (const pgconn *Conn);

Ứng dụng có thể muốn sử dụng chức năng này để Xác định xem các tính năng nhất định có được hỗ trợ hay không. Hiện tại, các giá trị có thể là 2 (giao thức 2.0), 3 (3.0 giao thức) hoặc không (soi kèo bóng đá truoctran xấu). Phiên bản giao thức sẽ không thay đổi sau khi soi kèo bóng đá truoctran khởi động hoàn tất, nhưng Về mặt lý thuyết, nó có thể thay đổi trong quá trình thiết lập lại soi kèo bóng đá truoctran. Giao thức 3.0 thường sẽ được sử dụng khi giao tiếp vớiPostgreSQL7.4 hoặc Máy chủ sau này; Máy chủ trước 7.4 Chỉ hỗ trợ Giao thức 2.0. (Giao thức 1.0 bị lỗi thời và không được hỗ trợ bởilibpq.)

PQServerVersion

Trả về một số nguyên đại diện cho phiên bản phụ trợ.

int pqserverversion (const pgconn *Conn);

Ứng dụng có thể sử dụng chức năng này để xác định Phiên bản của máy chủ cơ sở dữ liệu mà họ được soi kèo bóng đá truoctran. Các số được hình thành bằng cách chuyển đổi chính, phụ và số sửa đổi thành các số chữ số hai chiều và nối chúng lại với nhau. Ví dụ, phiên bản 8.1.5 sẽ được trả về dưới dạng 80105 và phiên bản 8.2 sẽ được trả lại dưới dạng 80200 (số 0 không được hiển thị). Số không được trả lại nếu soi kèo bóng đá truoctran xấu.

pqerrormessage

Trả về thông báo lỗi được tạo gần đây nhất bởi một Hoạt động trên soi kèo bóng đá truoctran.

char *pqerrormessage (const pgconn *Conn);

Gần như tất cảlibpqCác chức năng sẽ đặt tin nhắn chopqerrormessageNếu họ thất bại. Lưu ý rằng bằnglibpqCông ước, a không trốngpqerrormessagesoi kèo bóng đá truoctran quả có thể bao gồm nhiều dòng và sẽ bao gồm một Trailing Newline. Người gọi không nên giải phóng soi kèo bóng đá truoctran quả trực tiếp. Nó sẽ được giải phóng khi được liên soi kèo bóng đá truoctranPGConnXử lý được chuyển chopqfinish. Chuỗi soi kèo bóng đá truoctran quả không được dự kiến ​​sẽ giữ nguyên các hoạt động trênPGConnCấu trúc.

PQSocket

Lấy số lượng mô tả tệp của soi kèo bóng đá truoctran Ổ cắm đến máy chủ. Một mô tả hợp lệ sẽ lớn hơn hơn hoặc bằng 0; kết quả của -1 chỉ ra rằng không có máy chủ soi kèo bóng đá truoctran hiện đang mở. (Điều này sẽ không thay đổi trong Hoạt động bình thường, nhưng có thể thay đổi trong quá trình thiết lập soi kèo bóng đá truoctran hoặc đặt lại.)

int pqsocket (const pgconn *Conn);
PQBackEndPid

Trả về quy trìnhid(PID) của quá trình phụ trợ xử lý soi kèo bóng đá truoctran này.

int pqbackendPid (const pgconn *Conn);

phụ trợPIDIS Hữu ích cho mục đích gỡ lỗi và để so sánh vớiThông báoTin nhắn (bao gồmPIDcủa thông báo quá trình phụ trợ). Lưu ý rằngPIDthuộc về quá trình thực hiện trên Máy chủ máy chủ cơ sở dữ liệu, không phải máy chủ cục bộ!

PQConnectionNeedSpassword

Trả về đúng (1) Nếu phương thức xác thực soi kèo bóng đá truoctran Yêu cầu một mật khẩu, nhưng không có sẵn. Trả về sai (0) nếu không.

int pqconnectionNeedSpassword (const pgconn *Conn);

Hàm này có thể được áp dụng sau khi soi kèo bóng đá truoctran thất bại cố gắng quyết định có nên nhắc người dùng cho mật khẩu.

PQConnectionSpassword

Trả về đúng (1) Nếu phương thức xác thực soi kèo bóng đá truoctran đã sử dụng mật khẩu. Trả về false (0) nếu không.

25756_25809

Hàm này có thể được áp dụng sau khi bị lỗi hoặc không thành công soi kèo bóng đá truoctran thành công cố gắng phát hiện xem máy chủ có yêu cầu một mật khẩu.

PQGetSSL

Trả về cấu trúc SSL được sử dụng trong soi kèo bóng đá truoctran hoặc null nếu ssl không được sử dụng.

SSL *PQGetSSL (const pgconn *Conn);

Cấu trúc này có thể được sử dụng để xác minh các mức mã hóa, Kiểm tra chứng chỉ máy chủ, và nhiều hơn nữa. Tham khảoOpenSSLTài liệu cho thông tin về cấu trúc này.

Bạn phải xác địnhuse_sslTheo thứ tự Để có được nguyên mẫu chính xác cho chức năng này. Làm như vậy cũng sẽ tự động bao gồmSSL.HtừOpenSSL.