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

32.2. Chức năng trạng thái kèo bóng đá việt nam#

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 kèo bóng đá việt nam 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 kèo bóng đá việt nam. Các giá trị này được cố định cho tuổi thọ của kèo bóng đá việt nam.PQHOST, PQPortPQPassCó thể thay đổi nếu kèo bóng đá việt nam 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 kèo bóng đá việt nam.

char *pqdb (const pgconn *Conn);
pquser #

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

char *pquser (const pgconn *Conn);
PQPass #

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

Char *PQPass (const pgconn *Conn);

PQPassSẽ trả về mật khẩu được chỉ định trong các tham số kèo bóng đá việt nam 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ố kèo bóng đá việt nam, thì không thể dựa vào kết quả củaPQPassCho đến khi kèo bóng đá việt nam được thiết lập. Trạng thái của kèo bóng đá việt nam có thể được kiểm tra bằng hàmpqstatus.

PQHOST #

Trả về tên máy chủ máy chủ của kèo bóng đá việt nam đ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 kèo bóng đá việt nam thông qua ổ cắm UNIX./.)

char *pqhost (const pgconn *Conn);

Nếu các tham số kèo bóng đá việt nam đượ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ố kèo bóng đá việt nam,PQHOSTTrả về máy chủ thực sự được kèo bóng đá việt nam 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 kèo bóng đá việt nam 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ố kèo bóng đá việt nam, không thể dựa vào kết quả củaPQHOSTCho đến khi kèo bóng đá việt nam được thiết lập. Trạng thái của kèo bóng đá việt nam có thể được kiểm tra bằng hàmPQSTATUS.

PQHOSTADDR #

Trả về địa chỉ IP máy chủ của kèo bóng đá việt nam 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ànull. Mặt khác, nếu có lỗi tạo ra thông tin máy chủ (có lẽ nếu kèo bóng đá việt nam chưa được thiết lập đầy đủ hoặc có lỗi), nó sẽ trả về một chuỗi trống.

PQPort #

Trả về cổng kèo bóng đá việt nam hoạt động.

char *pqport (const pgconn *Conn);

Nếu nhiều cổng được chỉ định trong các tham số kèo bóng đá việt nam,PQPortTrả về cổng thực sự được kèo bóng đá việt nam với.

PQPortreturnnullNếuConnĐối số lànull. Mặt khác, nếu có lỗi tạo ra thông tin cổng (có lẽ nếu kèo bóng đá việt nam 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 cổng được chỉ định trong các tham số kèo bóng đá việt nam, không thể dựa vào kết quả củaPQPortCho đến khi kèo bóng đá việt nam được thiết lập. Trạng thái của kèo bóng đá việt nam có thể được kiểm tra bằng hàmpqstatus.

PQService #

Trả về dịch vụ của kèo bóng đá việt nam hoạt động.

Char *pqService (const pgconn *Conn);

PQServiceTrả vềnullNếuConnĐối số lànull. Nếu không, nếu không có dịch vụ được cung cấp, nó sẽ trả về một chuỗi trống.

pqtty #

Chức kèo bóng đá việt nam này không còn làm gì cả, nhưng nó vẫn dành cho khả kèo bóng đá việt nam tương thích ngược. Hàm luôn trả về một chuỗi trống hoặcnullNếuConnĐối số lànull.

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 kèo bóng đá việt nam.

char *pqoptions (const pgconn *Conn);

Các chức kèo bóng đá việt nam 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 kèo bóng đá việt nam.

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 kèo bóng đá việt nam không đồng bộ:Connection_okConnection_Bad. Một kèo bóng đá việt nam tốt với cơ sở dữ liệu có trạng tháiConnection_ok. Một nỗ lực kèo bóng đá việt nam thất bại được báo hiệu bởi trạng tháiConnection_Bad. Thông thường, kèo bóng đá việt nam OK sẽ vẫn như vậy cho đến khipqfinish, nhưng lỗi truyền thông có thể dẫn đến kèo bóng đá việt nam 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ã kèo bóng đá việt nam khác có thể được trả về.

PQTransactionStatus #

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

22479_22547

kèo bóng đá việt nam 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 kèo bóng đá việt nam 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.

PQParameterstatus #

tìm kiếm 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 kèo bóng đá việt nam 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.

Các tham số được báo cáo là bản phát hành hiện tại bao gồm:

application_name scram_iterations
client_encoding search_path
Datestyle server_encoding
default_transaction_read_only server_version
in_hot_standby session_Authorization
integer_datetimes Standard_Conforming_Strings
IntervalStyle timezone
is_superuser

(default_transaction_read_onlyin_hot_standbykhông được báo cáo bởi các bản phát hành trước 14;scram_iterationskhông được báo cáo bởi các bản phát hành trước 16;search_pathKhông được báo cáo bởi các bản phát hành trước 18.) Lưu ý rằngserver_version, server_encodinginteger_datetimesKhông thể thay đổi sau khi khởi động.

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 kèo bóng đá việt nam 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.

PQFullProtocolVersion #

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

int pqfullProtocolVersion (const pgconn *Conn);

Các ứng dụng có thể muốn sử dụng chức năng này để xác định xem một số tính năng nhất định có được hỗ trợ hay không. kèo bóng đá việt nam quả được hình thành bằng cách nhân số phiên bản chính của máy chủ với 10000 và thêm số phiên bản nhỏ.PostgreSQLPhiên bản máy chủ 7.4 trở lên.

Phiên bản giao thức sẽ không thay đổi sau khi kèo bóng đá việt nam khởi động hoàn tất, nhưng về mặt lý thuyết, nó có thể thay đổi trong quá trình đặt lại kèo bóng đá việt nam.

PQProtocolVersion #

thẩm vấn phiên bản chính của giao thức Frontend/phụ trợ.

int pqProtocolVersion (const pgconn *Conn);

Không giống nhưPQFullProtocolVersion, Điều này chỉ trả về phiên bản giao thức chính đang được sử dụng, nhưng nó được hỗ trợ bởi một loạt LIBPQ phát hành lại cho phiên bản 7.4. Hiện tại, các giá trị có thể là 3 (giao thức 3.0) hoặc không (kèo bóng đá việt nam xấu).

PQServerVersion #

Trả về một số nguyên đại diện cho phiên bản máy chủ.

int pqserverversion (const pgconn *Conn);

Các ứ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à chúng được kèo bóng đá việt nam. Kết quả được hình thành bằng cách nhân số phiên bản chính của máy chủ với 10000 và thêm số phiên bản nhỏ.

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 kèo bóng đá việt nam 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 kèo bóng đá việt nam.

char *pqerrormessage (const pgconn *Conn);

Gần như tất cảlibpqCác chức kèo bóng đá việt nam sẽ đặt tin nhắn chopqerrormessageNếu họ thất bại. Lưu ý rằng bằnglibpqquy ước, không trốngpqerrormessagekèo bóng đá việt nam 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 kèo bóng đá việt nam quả trực tiếp.PGConnXử lý được chuyển chopqfinish. Chuỗi kèo bóng đá việt nam 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 kèo bóng đá việt nam vào máy chủ. Một mô tả hợp lệ sẽ lớn hơn hoặc bằng 0;

int pqsocket (const pgconn *Conn);
PQBackendPid #

Trả về quy trìnhid(pid)của quy trình phụ trợ xử lý kèo bóng đá việt nam này.

int pqbackendPid (const pgconn *Conn);

phụ trợPIDlà 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 kèo bóng đá việt nam yêu cầu mật khẩu, nhưng không có sẵn. Trả về false (0) nếu không.

33576_33630

Chức năng này có thể được áp dụng sau khi kèo bóng đá việt nam 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ề true (1) Nếu phương thức xác thực kèo bóng đá việt nam sử dụng mật khẩu. Trả về false (0) nếu không.

34211_34264

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

#

Trả về đúng (1) Nếu phương thức xác thực kèo bóng đá việt nam được sử dụng GSSAPI. Trả về false (0) nếu không.

34853_34904

Hàm này có thể được áp dụng để phát hiện xem kèo bóng đá việt nam có được xác thực với GSSAPI hay không.

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 kèo bóng đá việt nam được thiết lập.

PQSSlinuse #

Trả về True (1) nếu kèo bóng đá việt nam 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ề kèo bóng đá việt nam.

36013_36092

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 kèo bóng đá việt nam. Trả về NULL nếu kèo bóng đá việt nam không sử dụng SSL hoặc tên thuộc tính được chỉ định không được xác định cho thư viện đang sử dụng.

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", nhưng việc triển khai có thể trả về các chuỗi khác nếu một số giao thức khác được sử dụng.

key_bits

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

mật mã

Một tên ngắn của ciphersuite được sử dụng, ví dụ:"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".

ALPN

Giao thức ứng dụng được chọn bởi phần mở rộng của TLS ứng dụng (ALPN). Giao thức duy nhất được libpq hỗ trợ làPOSTGRESQL, vì vậy điều này chủ yếu hữu ích cho việc kiểm tra xem máy chủ có hỗ trợ ALPN hay không. Chuỗi trống nếu ALPN không được sử dụng.

như một trường hợp đặc biệt,Thư việnThuộc tính có thể được truy vấn mà không cần kèo bóng đá việt nam bằng cách truyền NULL dưới dạngConnĐối số. kèo bóng đá việt nam quả sẽ là tên thư viện SSL mặc định hoặc null nếulibpqđược biên dịch mà không có bất kỳ hỗ trợ SSL nào. (TrướcPostgreSQLPhiên bản 15, vượt qua null dưới dạngConnĐối số luôn dẫn đến null. Các chương trình khách hàng cần phân biệt giữa các triển khai mới hơn và cũ hơn của trường hợp này có thể kiểm tralibpq_has_ssl_l Library_detectionMacro tính kèo bóng đá việt nam.)

PQSSlattributenames #

Trả về một mảng tên thuộc tính SSL có thể được sử dụng trongpqsslattribution (). Mảng bị chấm dứt bởi một con trỏ null.

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

nếuConnlà null, các thuộc tính có sẵn cho thư viện SSL mặc định được trả về hoặc một danh sách trống nếulibpqđược biên dịch mà không có bất kỳ hỗ trợ SSL nào. Nếu nhưConnkhông phải là null, các thuộc tính có sẵn cho thư viện SSL được sử dụng cho kèo bóng đá việt nam được trả về hoặc một danh sách trống nếu kèo bóng đá việt nam không được mã hóa.

PQSSLSTRUST #

Trả về một con trỏ cho một đối tượng dành riêng cho SSL-Illementation mô tả kèo bóng đá việt nam. Trả về null nếu kèo bóng đá việt nam không được mã hóa hoặc loại đối tượng được yêu cầu không có sẵn từ việc triển khai SSL của kèo bóng đá việt nam.

40420_40487

Cấu trúc có sẵn phụ thuộc vào việc thực hiện SSL đang sử dụng. VìOpenSSL, có một cấu trúc, có sẵn dưới tênOpenSSLvà nó trả lại một con trỏ thànhOpenSSL'sSSLCấu trúc. Để sử dụng chức kèo bóng đá việt nam này, mã dọc theo các dòng sau có thể được sử dụng:

#include <libpq-fe.h

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 kèo bóng đá việt nam hoặc NULL nếu SSL không 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, vì cấu trúc được trả về dành riêng choOpenSSLvà sẽ không khả dụng nếu người khácSSLThực hiện được sử dụng. Để kiểm tra xem kèo bóng đá việt nam có sử dụng SSL không, hãy gọiPQSSlinuseThay vào đó, và để biết thêm chi tiết về kèo bóng đá việt nam, sử dụngPQSSlattribution.