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

33.2. Chức năng trạng thái tỷ lệ kèo bóng đá trực tuyến hôm 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 đối tượng tỷ lệ kèo bóng đá trực tuyến hôm nay 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 hàm accessor đượ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 hàm sau trả về giá trị tham số được thiết lập khi tỷ lệ kèo bóng đá trực tuyến hôm nay. Các giá trị này được cố định cho tuổi thọ của tỷ lệ kèo bóng đá trực tuyến hôm nay. Nếu chuỗi tỷ lệ kèo bóng đá trực tuyến hôm nay đa host được sử dụng, các giá trị củaPQHOST, PQPortPQPassCó thể thay đổi nếu tỷ lệ kèo bóng đá trực tuyến hôm nay mới được thiết lập bằng cùng mộtPGConnĐối tượng. Các giá trị khác được cố định cho vòng đời củaPGConnĐối tượng.

PQDB

Trả về tên cơ sở dữ liệu của tỷ lệ kèo bóng đá trực tuyến hôm nay.

char *pqdb (const pgconn *Conn);
PQUSER

Trả về tên người dùng của tỷ lệ kèo bóng đá trực tuyến hôm nay.

char *pquser (const pgconn *Conn);
PQPass

Trả về mật khẩu của tỷ lệ kèo bóng đá trực tuyến hôm nay.

Char *PQPass (const pgconn *Conn);

PQPassSẽ trả về mật khẩu được chỉ định trong các tham số tỷ lệ kèo bóng đá trực tuyến hôm nay hoặc nếu không có và mật khẩu được lấy từPostgresql: Tài, nó sẽ trả lại điều đó. Trong trường hợp sau, nếu nhiều máy chủ được chỉ định trong các tham số tỷ lệ kèo bóng đá trực tuyến hôm nay, thì không thể dựa vào kết quả củaPQPassCho đến khi tỷ lệ kèo bóng đá trực tuyến hôm nay được thiết lập. Trạng thái của tỷ lệ kèo bóng đá trực tuyến hôm nay có thể được kiểm tra bằng hàmpqstatus.

PQHOST

Trả về tên máy chủ máy chủ của tỷ lệ kèo bóng đá trực tuyến hôm nay đang hoạt động. Đây có thể là tên máy chủ, địa chỉ IP hoặc đường dẫn thư mục nếu tỷ lệ kèo bóng đá trực tuyến hôm nay thông qua ổ cắm UNIX. (Trường hợp đường dẫn có thể được phân biệt vì nó sẽ luôn là một con đường tuyệt đối, bắt đầu bằng/.)

char *pqhost (const pgconn *Conn);

Nếu các tham số tỷ lệ kèo bóng đá trực tuyến hôm nay được chỉ định cảhosthostaddr, sau đóPQHOSTsẽ trả vềhostThông tin. Nếu chỉhostaddrđã được chỉ định, sau đó được trả về. Nếu nhiều máy chủ được chỉ định trong các tham số tỷ lệ kèo bóng đá trực tuyến hôm nay,PQHOSTTrả về máy chủ thực sự được tỷ lệ kèo bóng đá trực tuyến hôm nay với.

PQHOSTreturnnullNếuConnĐối số lànull. Mặt khác, nếu có lỗi tạo ra thông tin máy chủ (có lẽ nếu tỷ lệ kèo bóng đá trực tuyến hôm nay chưa được thiết lập đầy đủ hoặc có lỗi), nó sẽ trả về một chuỗi trống.

Nếu nhiều máy chủ được chỉ định trong các tham số tỷ lệ kèo bóng đá trực tuyến hôm nay, không thể dựa vào kết quả củaPQHOST15277_15380PQStatus.

PQHOSTADDR

Trả về địa chỉ IP máy chủ của tỷ lệ kèo bóng đá trực tuyến hôm nay hoạt động. Đây có thể là địa chỉ mà tên máy chủ được giải quyết hoặc địa chỉ IP được cung cấp thông quahostaddrtham số.

char *pqhostaddr (const pgconn *Conn);

PQHOSTADDRreturnnullNếuConnĐối số lànull16106_16282

PQPort

Trả về cổng của tỷ lệ kèo bóng đá trực tuyến hôm nay hoạt động.

char *pqport (const pgconn *Conn);

Nếu nhiều cổng được chỉ định trong các tham số tỷ lệ kèo bóng đá trực tuyến hôm nay,PQPortTrả về cổng thực sự được tỷ lệ kèo bóng đá trực tuyến hôm nay với.

PQPortreturnnullNếu16893_16899Đối số lànull16954_17130

Nếu nhiều cổng được chỉ định trong các tham số tỷ lệ kèo bóng đá trực tuyến hôm nay, không thể dựa vào kết quả củaPQPortCho đến khi tỷ lệ kèo bóng đá trực tuyến hôm nay được thiết lập. Trạng thái của tỷ lệ kèo bóng đá trực tuyến hôm nay có thể được kiểm tra bằng hàmpqstatus.

PQTTY

Trả về bản gỡ lỗittycủa tỷ lệ kèo bóng đá trực tuyến hôm nay. (Điều này là lỗi thời, vì máy chủ không còn chú ý đếnttyCài đặt, nhưng chức tỷ lệ kèo bóng đá trực tuyến hôm nay vẫn cho khả tỷ lệ kèo bóng đá trực tuyến hôm nay 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 đá trực tuyến hôm nay.

char *pqoptions (const pgconn *Conn);

Các chức tỷ lệ kèo bóng đá trực tuyến hôm nay sau khi trả về dữ liệu trạng thái có thể thay đổi khi 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 đá trực tuyến hôm 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 quy trình tỷ lệ kèo bóng đá trực tuyến hôm nay không đồng bộ:Connection_okConnection_Bad. Một tỷ lệ kèo bóng đá trực tuyến hôm 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 đá trực tuyến hôm 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 đá trực tuyến hôm nay OK sẽ vẫn như vậy cho đến khipqfinish, nhưng lỗi truyền thông có thể dẫn đến tỷ lệ kèo bóng đá trực tuyến hôm 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 choPQConnectStartParams, PQConnectStartPQConnectPollLiên quan đến các mã tỷ lệ kèo bóng đá trực tuyến hôm nay khác có thể được trả về.

PQTransactionStatus

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


        

tỷ lệ kèo bóng đá trực tuyến hôm 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 khối giao dịch hợp lệ) hoặcpqtrans_inerror(nhàn rỗi, trong một khối giao dịch thất bại).PQTRANS_UNKNOWNđược báo cáo nếu tỷ lệ kèo bóng đá trực tuyến hôm nay xấu.20698_20714chỉ được báo cáo khi truy vấn đã được gửi đến máy chủ và chưa hoàn thành.

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 tự động khi khởi động tỷ lệ kèo bóng đá trực tuyến hôm nay hoặc bất cứ khi nào giá trị của chúng 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 một 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 các bản phát hành trước 8.0;Standard_Conforming_StringsKhông được báo cáo bởi các bản phát hành trước 8.1;IntervalStyle22449_22493application_nameKhô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 khi khởi động.

Máy chủ Pre-3.0-Protocol không báo cáo Cài đặt tham số, nhưnglibpqBao gồm logic để có được giá trị choserver_versionclient_encodingDù sao. Các ứng dụng đượ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 đá trực tuyến hôm nay Pre-3.0, thay đổiclient_encodingViasetSau khi tỷ lệ kèo bóng đá trực tuyến hôm nay 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àTẮT, nghĩa là, các dấu gạch chéo ngược được coi là trốn thoát trong các chuỗi chữ. Ngoài ra, sự hiện diện của tham số này có thể được coi là 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ế chỉ vào bộ lưu trữ có thể thay đổi được liên tỷ lệ kèo bóng đá trực tuyến hôm nay vớiPGConnCấu trúc. Không khôn ngoan khi cho rằng con trỏ sẽ vẫn còn hiệu lực trên các truy vấn.

PQProtocolVersion

thẩm vấn giao thức Frontend/phụ trợ đang được sử dụng.

int pqProtocolVersion (const pgconn *Conn);

24673_25069PostgreSQL7.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 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 máy chủ.

int pqserverversion (const pgconn *Conn);

25642_26009

Trước phiên bản chính 10,PostgreSQLđã sử dụng số phiên bản ba phần trong đó hai phần đầu tiên cùng nhau đại diện cho phiên bản chính. Cho các phiên bản đó,PQServerVersionSử dụng hai chữ số cho mỗi phần; Ví dụ: Phiên bản 9.1.5 sẽ được trả lại là 90105 và phiên bản 9.2.0 sẽ được trả về là 90200.

Do đó, với mục đích xác định khả năng tương thích tính năng, các ứng dụng nên chia tỷ lệ kèo bóng đá trực tuyến hôm nay quả củaPQServerVersionbởi 100 không 10000 để xác định số phiên bản chính logic. Trong tất cả các chuỗi phát hành, chỉ có hai chữ số cuối cùng khác nhau giữa các bản phát hành nhỏ (bản phát hành sửa lỗi).

pqerrormessage

Trả về thông báo lỗi được tạo gần đây nhất bởi một thao tác trên tỷ lệ kèo bóng đá trực tuyến hôm nay.

char *pqerrormessage (const pgconn *Conn);

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

PQSocket

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

int pqsocket (const pgconn *Conn);
PQBackendPid

Trả về quy trìnhid(pid)28820_28871

int pqbackendPid (const pgconn *Conn);

phụ trợPIDrất 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 quy trình phụ trợ thông báo). Lưu ý rằngPIDthuộc về quá trình thực thi 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 tỷ lệ kèo bóng đá trực tuyến hôm nay yêu cầu mật khẩu, nhưng không có sẵn. Trả về false (0) nếu không.

29751_29805

Hàm này có thể được áp dụng sau khi tỷ lệ kèo bóng đá trực tuyến hôm nay thất bại cố gắng quyết định có nhắc người dùng về mật khẩu hay không.

PQConnectionSpassword

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

30322_30375

30391_30526

Các chức năng sau trả về thông tin liên quan đến SSL. Thông tin này thường không thay đổi sau khi tỷ lệ kèo bóng đá trực tuyến hôm nay được thiết lập.

PQSSlinuse

Trả về Đúng (1) Nếu tỷ lệ kèo bóng đá trực tuyến hôm nay sử dụng SSL, FALSE (0) nếu không.

int pqsslinuse (const pgconn *Conn);
PQSSlattribution

Trả về thông tin liên quan đến SSL về tỷ lệ kèo bóng đá trực tuyến hôm nay.

31421_31500

Danh sách các thuộc tính có sẵn khác nhau tùy thuộc vào thư viện SSL đang được sử dụng và loại tỷ lệ kèo bóng đá trực tuyến hôm nay. Nếu một thuộc tính không khả dụng, hãy trả về null.

Các thuộc tính sau đây thường có sẵn:

Thư viện

Tên của việc triển khai SSL đang sử dụng. (Hiện tại, chỉ"OpenSSL"được triển khai)

Giao thức

Phiên bản SSL/TLS đang được sử dụng. Các giá trị chung là"TLSV1", "TLSV1.1""TLSV1.2"32343_32425

key_bits

Số bit khóa được sử dụng bởi thuật toán mã hóa.

mật mã

32757_32803"DHE-RSA-DES-CBC3-SHA". Các tên được cụ thể cho mỗi triển khai SSL.

Nén

Trả về "BẬT" Nếu nén SSL được sử dụng, nếu không nó sẽ trả về "TẮT".

PQSSlattributenames

Trả về một mảng tên thuộc tính SSL có sẵn. Mảng bị chấm dứt bởi một con trỏ null.

const char * const * pqsslattributenames (const pgconn * Conn);
PQSSLstruct

33819_33905

33938_34005

Cấu trúc có sẵn phụ thuộc vào việc thực hiện SSL đang sử dụng. Đối với OpenSSL, có một cấu trúc, có sẵn dưới tên "OpenSSL" và nó trả về một con trỏ cho OpenSSLSSLCấu trúc. Để sử dụng chức tỷ lệ kèo bóng đá trực tuyến hôm nay này, mã dọc theo các dòng sau có thể được sử dụng:

#include <libpq-fe.h
#include <openSSL/ssl.h

...

    SSl *SSl;

    dbconn = pqconnectdb (...);
    ...

    ssl = pqsslstruct (dbconn, "openSSL");
    Nếu (SSL)

        / * Sử dụng các chức tỷ lệ kèo bóng đá trực tuyến hôm nay OpenSSL để truy cập SSL *//

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à hơn thế nữa. Tham khảoOpenSSLTài liệu để biết thông tin về cấu trúc này.

PQGetSSL

Trả về cấu trúc SSL được sử dụng trong tỷ lệ kèo bóng đá trực tuyến hôm nay hoặc null nếu SSL không được sử dụng.

VOID *PQGETSSL (const pgconn *Conn);

Hàm này tương đương vớiPQSSLStruct (Conn, "OpenSSL"). Nó không nên được sử dụng trong các ứng dụng mới, bởi vì cấu trúc được trả lại là cụ thể cho OpenSSL và sẽ không có sẵn nếu việc triển khai SSL khác được sử dụng. Để kiểm tra xem tỷ lệ kèo bóng đá trực tuyến hôm nay có sử dụng SSL không, hãy gọiPQSSlinuseThay vào đó, và để biết thêm chi tiết về tỷ lệ kèo bóng đá trực tuyến hôm nay, sử dụngPQSSlattribution.