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ế.

29.2. Chức năng trạng thái tỷ lệ kèo bóng đá tối nay

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 tỷ lệ kèo bóng đá tối nay cơ sở dữ liệu hiện có.

Tip: libpqCác lập trình viên ứng dụng nên được Cẩn thận để duy trìPGConnTrừu tượng. Sử dụng các chức năng của người truy cập được mô tả dưới đây để Nhận nội dung củaPGConn. Tham khảo nội bộPGConnTrường sử dụnglibpq-int.hkhông được đề xuất bởi vì họ 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 tỷ lệ kèo bóng đá tối nay.

char *pqdb (const pgconn *Conn);
117PostgreSQL: Tài liệu: 8.2: Hàm trạng thái tỷ lệ kèo bóng đá tối nay nối51

Trả về tên người dùng của tỷ lệ kèo bóng đá tối nay.

char *pquser (const pgconn *Conn);
PQPass

Trả về mật khẩu của tỷ lệ kèo bóng đá tối nay.

Char *PQPass (const pgconn *Conn);
PQHOST

Trả về tên máy chủ máy chủ của tỷ lệ kèo bóng đá tối nay.

char *pqhost (const pgconn *Conn);
PQPort

Trả về cổng tỷ lệ kèo bóng đá tối nay.

char *pqport (const pgconn *Conn);
pqtty

Trả về gỡ lỗittycủa tỷ lệ kèo bóng đá tối nay. (Đ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 tỷ lệ kèo bóng đá tối nay.

char *pqoptions (const pgconn *Conn);

Các chức năng sau đây trả về dữ liệu tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay.

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 tỷ lệ kèo bóng đá tối nay:Connection_okConnection_Bad. Một tỷ lệ kèo bóng đá tối nay tốt với cơ sở dữ liệu có trạng tháiConnection_ok. Một nỗ lực tỷ lệ kèo bóng đá tối nay thất bại được báo hiệu bởi trạng tháiConnection_Bad. Thông thường, tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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 choPQConnectStartPQConnectPollLiên quan đến người khác Mã tỷ lệ kèo bóng đá tối nay có thể được nhìn thấy.

PQTransactionStatus

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



        

tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay 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);

Các giá trị tham số nhất định được báo cáo bởi máy chủ tự động khi khởi động tỷ lệ kèo bóng đá tối nay 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.

Các 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, is_superuser, session_Authorization, Datestyle, 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.) 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 tỷ lệ kèo bóng đá tối nay Pre-3.0, thay đổiclient_encodingViasetSau khi tỷ lệ kèo bóng đá tối nay khởi động sẽ không được đượ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àTẮT,, 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ả lại được khai báoconst, thực tế chỉ vào bộ lưu trữ có thể thay đổi được liên tỷ lệ kèo bóng đá tối nay 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 điều này để xác định xem liệu Một số tính năng được hỗ trợ. Hiện tại, có thể Giá trị là 2 (giao thức 2.0), giao thức 3 (3.0) hoặc không (tỷ lệ kèo bóng đá tối nay xấu). Điều này sẽ không thay đổi sau khi tỷ lệ kèo bóng đá tối nay Khởi nghiệp 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 tỷ lệ kèo bóng đá tối nay. Giao thức 3.0 sẽ bình thường được sử dụng khi giao tiếp vớiPostgreSQL7.4 hoặc các máy chủ sau đó; Máy chủ trước 7.4 chỉ hỗ trợ giao thức 2.0. (Giao thức 1.0 là 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 điều này để xác định phiên bản của Máy chủ cơ sở dữ liệu mà họ được tỷ lệ kèo bóng đá tối nay. Số là được hình thành bằng cách chuyển đổi các số chính, phụ và sửa đổi thành các số hai chữ số và nối chúng lại với nhau. Ví dụ, phiên bản 8.1.5 sẽ được trả lại là 80105 và Phiên bản 8.2 sẽ được trả lại dưới dạng 80200 (số 0 hàng đầu là không hiển thị). Số không được trả về nếu tỷ lệ kèo bóng đá tối nay xấu.

pqerrormessage

Trả về lỗi thông báo gần đây nhất được tạo bởi một hoạt động trên sự liên quan.

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ốngpqerrormessagetỷ lệ kèo bóng đá tối nay quả sẽ bao gồm một dòng mới. Người gọi nên không miễn phí tỷ lệ kèo bóng đá tối nay quả trực tiếp. Nó sẽ được giải phóng khi có liên quanPGConnXử lý là được truyền chopqfinish. Các Chuỗi tỷ lệ kèo bóng đá tối nay quả không nên được dự kiến ​​sẽ giữ nguyên trên các hoạt động trênPGConnCấu trúc.

PQSocket

Lấy số lượng mô tả tệp của tỷ lệ kèo bóng đá tối nay Ổ 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ủ tỷ lệ kèo bóng đá tối nay 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 tỷ lệ kèo bóng đá tối nay hoặc đặt lại.)

int pqsocket (const pgconn *Conn);
PQBackendPid

Trả về quy trìnhid(pid)của quy trình máy chủ phụ trợ xử lý việc này sự liên quan.

int pqbackendPid (const pgconn *Conn);

Phần 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ộ!

PQGetSSL

Trả về SSL cấu trúc được sử dụng trong tỷ lệ kèo bóng đá tối nay hoặc null nếu SSL không ở trong 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 điều này cũng sẽ tự động bao gồmSSL.HtừOpenSSL.