Postgresql 9.1.24 Tài liệu | ||||
---|---|---|---|---|
prev | UP | Chương 31.libpq- C Thư viện | Tiếp theo |
Các chức năng sau liên quan đến việc tạo kèo bóng đá cúp c2 với APostgreSQLMáy chủ phụ trợ. MỘT
Chương trình ứng dụng có thể mở một số kèo bóng đá cúp c2 phụ trợ tại
một lần. (Một lý do để làm điều đó là truy cập nhiều hơn một
cơ sở dữ liệu.) Mỗi kèo bóng đá cúp c2 được biểu diễn bằng mộtPGConnđối tượng, được lấy từ
chức kèo bóng đá cúp c2PQConnectDB
, PQConnectDBParams
hoặcPQSetDbLogin
. Lưu ý rằng kèo bóng đá cúp c2 chức năng này sẽ
Luôn trả về một con trỏ đối tượng không null, trừ khi có lẽ có
quá ít bộ nhớ thậm chí để phân bổPGConnĐối tượng. ThePQStatus
Hàm nên được gọi để kiểm tra
Trả về giá trị cho kèo bóng đá cúp c2 thành công trước khi các truy vấn được gửi
thông qua đối tượng kèo bóng đá cúp c2.
Cảnh báo |
11678_11967 |
Lưu ý:Trên Windows, có một cách để cải thiện Hiệu suất nếu một kèo bóng đá cúp c2 cơ sở dữ liệu duy nhất liên tục bắt đầu và tắt máy. Trong nội bộ, libpq gọi
wsastartup ()
vàwsacleanup ()
cho kèo bóng đá cúp c2 khởi động và Tắt, tương ứng.wsastartup ()
Tăng một cửa sổ bên trong Số lượng tham chiếu thư viện bị giảm bởiwsacleanup ()
. Khi số lượng tham chiếu là Chỉ một, gọiwsacleanup ()
Giải phóng tất cả kèo bóng đá cúp c2 tài nguyên và tất cả kèo bóng đá cúp c2 DLL đều được dỡ xuống. Đây là một Hoạt động đắt tiền. Để tránh điều này, một ứng dụng có thể gọi thủ côngwsastartup ()
Vì vậy Tài nguyên sẽ không được giải phóng khi kèo bóng đá cúp c2 cơ sở dữ liệu cuối cùng được đóng.
PQConnectDBParams
Tạo kèo bóng đá cúp c2 mới với máy chủ cơ sở dữ liệu.
13394_13487
Hàm này mở kèo bóng đá cúp c2 cơ sở dữ liệu mới bằng cách sử dụng
tham số được lấy từ hainull-kèo bóng đá cúp c2 thúc mảng. Đầu tiên,Từ khóa, được định nghĩa là một mảng chuỗi,
Mỗi người là một từ khóa. Thứ hai,Giá trị, đưa ra giá trị cho mỗi từ khóa.
Không giống nhưPQSetDbLogin
bên dưới,
tập hợp tham số có thể được mở rộng mà không cần thay đổi
Chữ ký chức năng, vì vậy sử dụng chức năng này (hoặc
kèo bóng đá cúp c2 chất tương tự không chặnPQConnectStartParams
và14177_14192
) được ưu tiên cho mới
Lập trình ứng dụng.
khiexpand_dbnamelà khác không, Thedbnamegiá trị từ khóa là được phép được công nhận làConninfoChuỗi. Xem bên dưới cho chi tiết.
Mảng được truyền có thể trống để sử dụng tất cả kèo bóng đá cúp c2 mặc định tham số hoặc có thể chứa một hoặc nhiều cài đặt tham số. Chúng nên được khớp với chiều dài. Xử lý sẽ dừng lại với cuối cùng khôngnullphần tử củaTừ khóamảng.
kèo bóng đá cúp c2 từ khóa tham số hiện được công nhận là:
Tên của máy chủ để kèo bóng đá cúp c2 với. Nếu điều này bắt đầu với một chém, nó chỉ định giao tiếp miền đơn hơn hơn giao tiếp TCP/IP; Giá trị là tên của Thư mục trong đó tệp ổ cắm được lưu trữ. Các hành vi mặc định khihostkhông được chỉ định là kèo bóng đá cúp c2 với một miền Unix Ổ cắm trong/TMP(hoặc bất cứ điều gì Thư mục ổ cắm được chỉ định khiPostgreSQL15672_15785localhost.
Địa chỉ IP số của máy chủ để kèo bóng đá cúp c2 với. Cái này phải ở định dạng địa chỉ IPv4 tiêu chuẩn, ví dụ:172.28.40.9. Nếu máy của bạn Hỗ trợ IPv6, bạn cũng có thể sử dụng kèo bóng đá cúp c2 địa chỉ đó. Giao tiếp TCP/IP luôn được sử dụng khi không trống Chuỗi được chỉ định cho tham số này.
Sử dụnghostaddrthay vìmáy chủCho phép ứng dụng để tránh tra cứu tên máy chủ, có thể là quan trọng trong kèo bóng đá cúp c2 ứng dụng với kèo bóng đá cúp c2 ràng buộc thời gian. Tuy nhiên, một tên máy chủ được yêu cầu cho Kerberos, Phương pháp xác thực GSSAPI hoặc SSPI, cũng như vìxác minh-đầy đủSSL xác minh chứng chỉ. kèo bóng đá cúp c2 quy tắc sau đây là đã sử dụng:
nếuhostđược chỉ định không cóhostaddr, một máy chủ Tra cứu tên xảy ra.
nếuhostaddrIS được chỉ định mà không cómáy chủ,, giá trị chohostaddrCung cấp địa chỉ mạng máy chủ. kèo bóng đá cúp c2 Cố gắng sẽ thất bại nếu phương thức xác thực yêu cầu một tên máy chủ.
Nếu cả haihostvàhostaddrđược chỉ định, giá trị chohostaddrCung cấp địa chỉ mạng máy chủ. Giá trị chohostbị bỏ qua trừ khi Phương pháp xác thực yêu cầu nó, trong đó trường hợp nó sẽ được sử dụng làm tên máy chủ.
Lưu ý rằng xác thực có khả kèo bóng đá cúp c2 thất bại nếumáy chủkhông phải là tên của Máy chủ tại địa chỉ mạnghostaddr. Ngoài ra, lưu ý rằngmáy chủchứ không phảihostaddrđược sử dụng để xác định kèo bóng đá cúp c2 trong~/.PGPass(xemPostgreSQL: Tài liệu:).
Không có tên máy chủ hoặc địa chỉ máy chủ,libpqSẽ kèo bóng đá cúp c2 sử dụng ổ cắm tên miền đơn vị cục bộ; hoặc trên máy Nếu không có ổ cắm tên miền Unix, nó sẽ cố gắng kèo bóng đá cúp c2 vớiLocalhost.
19118_19252
Tên cơ sở kèo bóng đá cúp c2. Mặc định giống như Tên người dùng.
PostgreSQLNgười dùng Tên để kèo bóng đá cúp c2 như. Mặc định giống như Tên hệ điều hành của người dùng đang chạy ứng dụng.
Mật khẩu sẽ được sử dụng nếu máy chủ yêu cầu mật khẩu xác thực.
Chờ tối đa để kèo bóng đá cúp c2, tính bằng giây (viết AS một chuỗi số nguyên thập phân). Không hoặc không được chỉ định có nghĩa là chờ vô thời hạn. Không nên sử dụng thời gian chờ dưới 2 giây.
Điều này đặtclient_encodingCấu hình tham số cho kèo bóng đá cúp c2 này. Ngoài các giá trị được chấp nhận bởi tùy chọn máy chủ tương ứng, Bạn có thể sử dụngAutođến Xác định đúng mã hóa từ địa phương hiện tại trong máy khách (lc_ctypeBiến môi trường trên kèo bóng đá cúp c2 hệ thống UNIX).
Thêm tùy chọn dòng lệnh để gửi đến máy chủ tại thời gian chạy. Ví dụ: đặt cái này thành-c geqo = offĐặt giá trị của phiên củageqotham số đếnTẮT. Cho một chi tiết Thảo luận về kèo bóng đá cúp c2 tùy chọn có sẵn, tham khảo ý kiếnChương 18.
Chỉ định giá trị choapplication_nameTham số cấu hình.
Chỉ định giá trị dự phòng choapplication_nameTham số cấu hình. Giá trị này sẽ được sử dụng nếu Không có giá trị nào được đưa ra choapplication_namethông qua kèo bóng đá cúp c2 tham số hoặcPGAPPNAMEBiến môi trường. Chỉ định một tên dự phòng là hữu ích trong kèo bóng đá cúp c2 chương trình tiện ích chung muốn thiết lập Tên ứng dụng mặc định nhưng cho phép nó được được ghi đè bởi người dùng.
Kiểm soát xem các khoản giữ TCP phía máy khách có phải là đã sử dụng. Giá trị mặc định là 1, có nghĩa là bật, nhưng bạn có thể Thay đổi điều này thành 0, có nghĩa là tắt, nếu không muốn. Tham số này bị bỏ qua cho các kèo bóng đá cúp c2 Được thực hiện thông qua ổ cắm miền Unix.
23903_24270TCP_KeepidlehoặcTCP_Keepalive24375_24485
Điều khiển số giây sau đó TCP thông điệp giữ lại không được thừa nhận bởi Máy chủ nên được truyền lại. Giá trị sử dụng bằng không hệ thống mặc định. Tham số này bị bỏ qua cho các kèo bóng đá cúp c2 được thực hiện thông qua ổ cắm tên miền Unix hoặc nếu Keepalives bị vô hiệu hóa. Nó chỉ được hỗ trợ trên các hệ thống trong đóTCP_KeepIntVLTùy chọn ổ cắm là Có sẵn, và trên Windows; Trên kèo bóng đá cúp c2 hệ thống khác, nó có không có tác dụng.
Kiểm soát số lượng Keepalive TCP có thể bị mất trước khi kèo bóng đá cúp c2 của khách hàng với máy chủ là được coi là chết. Giá trị bằng 0 sử dụng hệ thống mặc định. Tham số này bị bỏ qua cho các kèo bóng đá cúp c2 được thực hiện thông qua một ổ cắm tên miền Unix, hoặc nếu giữ tàn tật. Nó chỉ được hỗ trợ trên các hệ thống trong đóTCP_KeepcntTùy chọn ổ cắm là có sẵn; Trên kèo bóng đá cúp c2 hệ thống khác, nó không có tác dụng.
Bỏ qua (trước đây, nơi này được chỉ định là nơi để gửi đầu ra gỡ lỗi máy chủ).
Tùy chọn này xác định xem hoặc với cái gì Ưu tiên an toànSSLkèo bóng đá cúp c2 TCP/IP sẽ thương lượng với máy chủ. Có sáu chế độ:
Chỉ thử khôngSSLkèo bóng đá cúp c2
Đầu tiên hãy thử khôngSSLkèo bóng đá cúp c2; Nếu điều đó thất bại, thử mộtSSLkèo bóng đá cúp c2
Đầu tiên hãy thửSSLkèo bóng đá cúp c2; Nếu điều đó Thất bại, hãy thử khôngSSLkèo bóng đá cúp c2
chỉ thử27831_27836kèo bóng đá cúp c2. Nếu một gốc Tệp CA có mặt, xác minh chứng chỉ trong giống như cáchXác minh-CAđã được chỉ định
Chỉ thửSSLkèo bóng đá cúp c2 và xác minh rằng chứng chỉ máy chủ được cấp bởi một Cơ quan chứng chỉ đáng tin cậy (CA)
Chỉ thửSSLkèo bóng đá cúp c2, xác minh điều đó Chứng chỉ máy chủ được cấp bởi một người đáng tin cậyCAVà điều đó Tên máy chủ máy chủ phù hợp với giấy chứng nhận
xemPhần 31,17cho Mô tả chi tiết về cách kèo bóng đá cúp c2 tùy chọn này hoạt động.
SSLModebị bỏ qua cho Giao tiếp ổ cắm tên miền UNIX. Nếu nhưPostgreSQLđược biên dịch mà không có Hỗ trợ SSL, sử dụng Tùy chọnYêu cầu, Xác minh-CAhoặcxác minh-đầy đủsẽ gây ra lỗi, trong khi tùy chọnCho phépvàưa thíchsẽ được chấp nhận nhưnglibpqSẽ không thực sự cố gắngSSLkèo bóng đá cúp c2.
Tùy chọn này không được ủng hộ ủng hộSSLModeCài đặt.
Nếu được đặt thành 1, mộtSSLkèo bóng đá cúp c2 với máy chủ là bắt buộc (điều này tương đương vớiSSLMode Yêu cầu).30438_30445Sau đó sẽ từ chối kèo bóng đá cúp c2 nếu máy chủ không chấp nhậnSSLkèo bóng đá cúp c2. Nếu như đặt thành 0 (mặc định),libpqSẽ thương lượng Loại kèo bóng đá cúp c2 với máy chủ (tương đương vớiSSLMode ưa thích). Tùy chọn này chỉ khả dụng nếu nhưPostgreSQLIS được biên dịch với hỗ trợ SSL.
Tham số này chỉ định tên tệp của Chứng chỉ SSL của máy khách, thay thế mặc định~/.Postgresql/postgresql.crt. Cái này tham số bị bỏ qua nếu kèo bóng đá cúp c2 SSL không làm ra.
Tham số này chỉ định vị trí cho Khóa bí mật được sử dụng cho chứng chỉ máy khách. Nó có thể Một trong hai chỉ định tên tệp sẽ được sử dụng thay thế của mặc định~/.Postgresql/postgresql.keyhoặc nó có thể chỉ định một khóa thu được từ bên ngoài"Động cơ"(Động cơ làOpenSSLCó thể tải mô -đun). Một đặc tả động cơ bên ngoài nên bao gồm một tên động cơ phân tách đại tràng và một Định danh khóa cụ thể động cơ. Tham số này là bị bỏ qua nếu kèo bóng đá cúp c2 SSL không được thực hiện.
Tham số này chỉ định tên của một tệp chứa cơ quan chứng chỉ SSL (CA32747_32928~/.Postgresql/root.crt.
Tham số này chỉ định tên tệp của SSL Danh sách thu hồi chứng chỉ (CRL). Giấy chứng nhận được liệt kê trong tệp này, nếu nó tồn tại, sẽ bị từ chối trong khi cố gắng xác thực máy chủ giấy chứng nhận. Mặc định là~/.Postgresql/root.crl.
Tham số này chỉ định người dùng hệ điều hành Tên của máy chủ, ví dụab tarpeer = postgres. Khi làm a kèo bóng đá cúp c2 ổ cắm tên miền Unix, nếu tham số này là đặt, máy khách kiểm tra ở đầu kèo bóng đá cúp c2 mà quá trình máy chủ đang chạy theo Tên người dùng được chỉ định; Nếu không, kèo bóng đá cúp c2 bị hủy bỏ với một lỗi. Tham số này có thể được sử dụng để cung cấp xác thực máy chủ tương tự như vậy Có sẵn với chứng chỉ SSL trên TCP/IP kèo bóng đá cúp c2. (Lưu ý rằng nếu ổ cắm tên miền Unix TRONG/TMP34466_34770PeerXác thực Phương pháp được thực hiện; nhìn thấyPhần 19.3.7.
Tên dịch vụ của Kerberos sẽ sử dụng khi xác thực với Kerberos 5 hoặc GSSAPI. Điều này phải phù hợp với Tên dịch vụ được chỉ định trong cấu hình máy chủ cho xác thực Kerberos để thành công. (Xem thêmPhần 19.3.5vàPhần 19.3.3.)
Thư viện GSS để sử dụng để xác thực GSSAPI. Chỉ một Được sử dụng trên Windows. Đặt thànhGSSAPIĐể buộc libpq sử dụng Thư viện GSSAPI để xác thực thay vì SSPI mặc định.
Tên dịch vụ để sử dụng cho kèo bóng đá cúp c2 tham số bổ sung. Nó Chỉ định tên dịch vụ trongpg_service.confgiữ thêm tham số kèo bóng đá cúp c2. Điều này cho phép các ứng dụng Chỉ xác định tên dịch vụ nên tham số kèo bóng đá cúp c2 có thể được duy trì tập trung. Nhìn thấyPhần 31.15.
Nếu bất kỳ tham số nào không được xác định, thì tương ứng Biến môi trường (xemPhần 31.13) được kiểm tra. Nếu Biến môi trường cũng không được đặt, sau đó được chỉ định mặc định tích hợp được sử dụng.
nếuexpand_dbnamelà không khác
Vàdbnamechứa=dấu, nó được lấy dưới dạngConninfoChuỗi theo cách tương tự như
Nếu nó đã được truyền choPQConnectDB
37306_37407Conninfochuỗi.
Nói chung, kèo bóng đá cúp c2 từ khóa được xử lý từ đầu kèo bóng đá cúp c2 mảng theo thứ tự chỉ mục. Hiệu quả của điều này là Khi kèo bóng đá cúp c2 từ khóa được lặp lại, giá trị được xử lý cuối cùng là giữ lại. Do đó, thông qua vị trí cẩn thận củadbnameTừ khóa, có thể Để xác định những gì có thể bị ghi đè bởi mộtConninfoChuỗi và những gì có thể không.
PQConnectDB
Tạo kèo bóng đá cúp c2 mới với máy chủ cơ sở dữ liệu.
PGConn *PQConnectDB (const char *ConnInfo);
Hàm này mở kèo bóng đá cúp c2 cơ sở dữ liệu mới bằng cách sử dụng tham số được lấy từ chuỗiConninfo.
38367_38567Từ khóa = value. Không gian xung quanh dấu hiệu bằng nhau là tùy chọn. Để viết một Giá trị trống hoặc giá trị chứa khoảng trống, bao quanh nó với Báo giá đơn, ví dụ:Từ khóa = 'a giá trị'. Báo giá đơn và dấu gạch chéo ngược trong giá trị Phải được thoát ra bằng một dấu gạch chéo ngược, tức là,\ 'và38977_38981.
kèo bóng đá cúp c2 từ khóa tham số hiện được nhận dạng là kèo bóng đá cúp c2 từ Giống như trên.
PQSetDbLogin
Tạo kèo bóng đá cúp c2 mới với máy chủ cơ sở dữ liệu.
PGCONN *PQSetDbLogin (const char * const char *pgport, const char *pgoptions, const char *pgtty, const char *dbname, const char *đăng nhập, const char *pwd);
Đây là tiền thân củaPQConnectDB
Với một bộ cố định
tham số. Nó có cùng chức năng ngoại trừ
Thiếu tham số sẽ luôn luôn có kèo bóng đá cúp c2 giá trị mặc định.
Viếtnull39903_40001
Nếudbnamechứa=dấu, nó được lấy dưới dạngConninfoChuỗi theo cách tương tự như
Nếu nó đã được truyền choPQConnectDB
và kèo bóng đá cúp c2 tham số còn lại
sau đó được áp dụng như trên.
PQSetDB
Tạo kèo bóng đá cúp c2 mới với máy chủ cơ sở dữ liệu.
PGConn *PQSetDB (char *pghost, char *pgport, char *pgoptions, char *pgtty, char *dbname);
Đây là một macro gọiPQSetDbLogin
với kèo bóng đá cúp c2 con trỏ null choĐăng nhậpvàPWDtham số. Nó được cung cấp cho
Khả năng tương thích ngược với kèo bóng đá cúp c2 chương trình rất cũ.
PQConnectStartParams
PQConnectStart
PQConnectPoll
Tạo kèo bóng đá cúp c2 với máy chủ cơ sở dữ liệu trong A trong A cách không chặn.
PGConn *PQConnectStartParams (Const Char ** Từ khóa, const char ** giá trị, int expand_dbname); Pgconn *pqconnectStart (const char *conninfo); PostgrespollingStatusType PQConnectPoll (PGConn *Conn);
41727_42068PQConnectDBParams
hoặcPQConnectDB
, và vì vậy ứng dụng có thể
Quản lý hoạt động này song song với kèo bóng đá cúp c2 hoạt động khác
kèo bóng đá cúp c2 hoạt động.
với42322_42344
,,
kèo bóng đá cúp c2 cơ sở dữ liệu được thực hiện bằng cách sử dụng các tham số được thực hiện
từTừ khóavàGiá trịMảng và được điều khiển bởiexpand_dbname, như được mô tả ở trên choPQConnectDBParams
.
vớiPQConnectStart
, The
kèo bóng đá cúp c2 cơ sở dữ liệu được thực hiện bằng các tham số được lấy từ
chuỗiConninfonhư mô tả
Trên choPQConnectDB
.
KhôngPQConnectStartParams
cũng khôngPQConnectStart
cũng khôngPQConnectPoll
sẽ chặn, miễn là a
Số lượng hạn chế được đáp ứng:
Thehostaddrvàhosttham số được sử dụng một cách thích hợp
để đảm bảo rằng kèo bóng đá cúp c2 truy vấn tên và tên ngược không
làm ra. Xem tài liệu của kèo bóng đá cúp c2 tham số này theoPQConnectDBParams
ở trên
Để biết chi tiết.
Nếu bạn gọi43674_43683
,,
đảm bảo rằng đối tượng luồng mà bạn theo dõi sẽ
không khối.
Bạn đảm bảo rằng ổ cắm phù hợp
trạng thái trước khi gọiPQConnectPoll
, như mô tả
dưới.
Lưu ý: Sử dụngPQConnectStartParams
tương tự nhưPQConnectStart
hiển thị
dưới.
Để bắt đầu yêu cầu kèo bóng đá cúp c2 không chặn, hãy gọiConn = PQConnectStart ("Connection_info_String"). Nếu nhưConnlà null, sau đólibpqđã không thể phân bổ
mớiPGConnCấu trúc.
Nếu không, một hợp lệPGConnCon trỏ được trả về (mặc dù chưa đại diện cho một hợp lệ
kèo bóng đá cúp c2 với cơ sở dữ liệu). Khi trở về từPQConnectStart
, gọistatus = pqStatus (Conn). Nếu nhưtrạng tháibằngConnection_Bad, PQConnectStart
đã thất bại.
nếuPQConnectStart
Thành công, giai đoạn tiếp theo là thăm dò ý kiếnlibpqđể nó có thể tiến hành
Trình tự kèo bóng đá cúp c2. Sử dụngPQSocket (Conn)
Để có được bộ mô tả
của ổ cắm bên dưới kèo bóng đá cúp c2 cơ sở dữ liệu. Vòng lặp
Do đó: nếuPQConnectPoll (Conn)
Đã trả lại lần cuốipgres_polling_reading45561_45629select ()
, poll ()
hoặc hàm hệ thống tương tự). Sau đó
gọiPQConnectPoll (Conn)
Một lần nữa. Ngược lại, nếuPQConnectPoll (Conn)
Trả về lần cuốiPGRES_POLLING_WRITY, đợi cho đến khi
ổ cắm đã sẵn sàng để viết, sau đó gọiPQConnectPoll (Conn)
Một lần nữa. Nếu bạn có
chưa gọiPQConnectPoll
,,
tức là, ngay sau cuộc gọi đếnPQConnectStart
, hoạt động như thể nó kéo dài
đã trả vềPGRES_POLLING_WRITY.
Tiếp tục vòng lặp này cho đến khiPQConnectPoll (Conn)
returnPGRES_POLLING_FAILED, chỉ ra
Quy trình kèo bóng đá cúp c2 đã thất bại hoặcPGRES_POLLING_OK, Cho biết kèo bóng đá cúp c2
đã được thực hiện thành công.
Bất cứ lúc nào trong quá trình kèo bóng đá cúp c2, trạng thái của
kèo bóng đá cúp c2 có thể được kiểm tra bằng cách gọipqstatus
. Nếu cuộc gọi này trả vềConnection_Bad, sau đó quy trình kèo bóng đá cúp c2
đã thất bại; Nếu cuộc gọi trả vềConnection_ok
47035_47154PQConnectPoll
, được mô tả ở trên. Khác
Các quốc gia cũng có thể xảy ra trong (và chỉ trong)
Quy trình kèo bóng đá cúp c2 không đồng bộ. Những điều này chỉ ra
giai đoạn hiện tại của thủ tục kèo bóng đá cúp c2 và có thể là
hữu ích để cung cấp phản hồi cho người dùng làm ví dụ. Những cái này
Trạng thái là:
chờ kèo bóng đá cúp c2 được thực hiện.
kèo bóng đá cúp c2 OK; chờ gửi.
Đang chờ phản hồi từ máy chủ.
nhận được xác thực; chờ đợi phụ trợ Khởi động để hoàn thành.
Đàm phán mã hóa SSL.
Tham số điều khiển môi trường Cài đặt.
Lưu ý rằng, mặc dù kèo bóng đá cúp c2 hằng số này sẽ vẫn còn ( để duy trì khả năng tương thích), một ứng dụng nên Không bao giờ dựa vào những điều này xảy ra theo một thứ tự cụ thể, hoặc Tất cả, hoặc về tình trạng luôn là một trong số đó giá trị được ghi lại. Một ứng dụng có thể làm một cái gì đó như cái này:
Switch (pqstatus (Conn)) Case Connection_started: Phản hồi = "kèo bóng đá cúp c2 ..."; phá vỡ; Case Connection_Made: Phản hồi = "kèo bóng đá cúp c2 với máy chủ ..."; phá vỡ; . . . mặc định: Phản hồi = "kèo bóng đá cúp c2 ...";
TheConnect_Timeoutkèo bóng đá cúp c2
tham số bị bỏ qua khi sử dụngPQConnectPoll
; nó là ứng dụng
trách nhiệm quyết định xem một lượng quá mức của
Thời gian đã trôi qua. Nếu không thì,PQConnectStart
theo sau làPQConnectPoll
Vòng lặp tương đương vớiPQConnectDB
.
Lưu ý rằng nếuPQConnectStart
Trả về một người không null
con trỏ, bạn phải gọipqfinish
50521_50721
PQConnDefaults
Trả về các tùy chọn kèo bóng đá cúp c2 mặc định.
PQConnInFooption *PQConnDefaults (void); Cấu trúc typedef từ khóa *từ khóa; / * Từ khóa của tùy chọn */ char *envvar; / * Tên biến môi trường dự phòng */ char *biên soạn; / * Dự phòng được biên dịch trong giá trị mặc định */ char *val; / * Giá trị hiện tại của tùy chọn hoặc null */ Nhãn char *; / * Nhãn cho trường trong hộp thoại Connect */ char *vua; /* Cho biết cách hiển thị trường này Trong một hộp thoại kèo bóng đá cúp c2. Giá trị là: "" Hiển thị giá trị đã nhập như là "*" Trường mật khẩu - ẩn giá trị Tùy chọn gỡ lỗi "D" - không hiển thị theo mặc định */ int phân tán; / * Kích thước trường trong các ký tự cho hộp thoại */ PQConnInFooption;
Trả về mảng tùy chọn kèo bóng đá cúp c2. Điều này có thể được sử dụng để
Xác định tất cả có thểPQConnectDB
Tùy chọn và dòng điện của chúng
giá trị mặc định. Giá trị trả về chỉ vào một mảngPQConninFooptionCấu trúc,
kèo bóng đá cúp c2 thúc bằng một mục có nullTừ khóaCon trỏ. Con trỏ null là
Trả lại nếu bộ nhớ không thể được phân bổ. Lưu ý rằng
Giá trị mặc định hiện tại (ValTrường) sẽ phụ thuộc vào các biến môi trường và các biến khác
bối cảnh. Người gọi phải coi dữ liệu tùy chọn kèo bóng đá cúp c2 là
chỉ đọc.
Sau khi xử lý mảng tùy chọn, hãy giải phóng nó bằng cách vượt qua
nó đếnPQConninFofree
. Nếu điều này
không được thực hiện, một lượng nhỏ bộ nhớ bị rò rỉ cho mỗi
Gọi đếnPQConnDefaults
.
PQConninFopars
Trả về các tùy chọn kèo bóng đá cúp c2 phân tích cú pháp từ được cung cấp chuỗi kèo bóng đá cúp c2.
53014_53089
Phân tích chuỗi kèo bóng đá cúp c2 và trả về kết quả
tùy chọn như một mảng; hoặc trả lạinullNếu có vấn đề với
Chuỗi kèo bóng đá cúp c2. Chức năng này có thể được sử dụng để trích xuấtPQConnectDB
Tùy chọn trong
Cung cấp chuỗi kèo bóng đá cúp c2. Giá trị trả về chỉ ra một
mảngPQConninFooptionCấu trúc, kèo bóng đá cúp c2 thúc bằng một mục có nullTừ khóaCon trỏ.
Lưu ý rằng chỉ các tùy chọn được chỉ định rõ ràng trong Chuỗi sẽ có các giá trị được đặt trong mảng kèo bóng đá cúp c2 quả; KHÔNG Mặc định được chèn.
nếuerrmsgkhông phảinull, sau đó*errmsgđược đặt thành53972_53978Thành công, khác để
Mộtmalloc
'D chuỗi lỗi
giải thích vấn đề. (Nó cũng có thể cho*errmsgđược đặt thànhnullvà chức kèo bóng đá cúp c2 trả vềnull; Điều này cho thấy một bộ nhớ ngoài
tình trạng.)
Sau khi xử lý mảng tùy chọn, hãy giải phóng nó bằng cách vượt qua
nó đếnPQConnInfofree
. Nếu điều này
không được thực hiện, một số bộ nhớ bị rò rỉ cho mỗi cuộc gọi đếnPQConnInfopars
. Ngược lại,
Nếu xảy ra lỗi vàerrmsgIS
khôngnull, Hãy chắc chắn giải phóng lỗi
Chuỗi sử dụngPQFREEMEM
.
pqfinish
Đóng kèo bóng đá cúp c2 với máy chủ. Cũng giải phóng bộ nhớ Được sử dụng bởiPGConnĐối tượng.
void pqfinish (pgconn *Conn);
Lưu ý rằng ngay cả khi kèo bóng đá cúp c2 máy chủ không cố
(như được chỉ ra bởipqstatus
),
Ứng dụng nên gọipqfinish
Để giải phóng bộ nhớ được sử dụng bởiPGConnĐối tượng. ThePGConnCon trỏ không được sử dụng lại
sau đópqfinish
đã được
gọi điện.
pqreset
Đặt lại kênh truyền thông cho máy chủ.
void pqreset (pgconn *Conn);
55879_56150
pqresetstart
pqresetpoll
Đặt lại kênh truyền thông cho máy chủ, trong A cách không chặn.
int pqresetstart (pgconn *Conn); PostgrespollingStatusType PQResetPoll (PGConn *Conn);
Các chức năng này sẽ đóng kèo bóng đá cúp c2 với máy chủ
và cố gắng thiết lập lại một kèo bóng đá cúp c2 mới với cùng một
Máy chủ, sử dụng tất cả các tham số giống nhau được sử dụng trước đây. Cái này
có thể hữu ích cho việc khôi phục lỗi nếu kèo bóng đá cúp c2 làm việc là
mất. Chúng khác vớipqreset
(ở trên) trong đó họ hành động trong một
cách không chặn. kèo bóng đá cúp c2 chức năng này bị giống nhau
Hạn chế làPQConnectStartParams
, PQConnectStart
vàPQConnectPoll
.
Để bắt đầu đặt lại kèo bóng đá cúp c2, hãy gọiPQResetStart
57322_57419pqresetpoll
Trong chính xác
theo cách mà bạn sẽ tạo kèo bóng đá cúp c2 bằng cách sử dụngPQConnectPoll
.
PQPingParams
PQPingParams
Báo cáo
trạng thái của máy chủ. Nó chấp nhận các tham số kèo bóng đá cúp c2
giống với những người củaPQConnectDBParams
, được mô tả ở trên. Nó là
Tuy nhiên, không cần thiết để cung cấp tên người dùng chính xác,
Mật khẩu hoặc giá trị tên cơ sở kèo bóng đá cúp c2 để có được máy chủ
trạng thái.
58157_58244
Hàm trả về một trong kèo bóng đá cúp c2 giá trị sau:
Máy chủ đang chạy và dường như đang chấp nhận kèo bóng đá cúp c2.
Máy chủ đang chạy nhưng ở trạng thái kèo bóng đá cúp c2 không hoàn toàn (khởi động, tắt máy hoặc sự cố sự hồi phục).
Máy chủ không thể liên hệ. Điều này có thể chỉ ra rằng máy chủ không chạy hoặc Có điều gì đó sai với kèo bóng đá cúp c2 đã cho tham số (ví dụ: số cổng sai) hoặc đó Có một vấn đề kèo bóng đá cúp c2 mạng (ví dụ, Tường lửa chặn yêu cầu kèo bóng đá cúp c2).
Không có nỗ lực nào được thực hiện để liên hệ với máy chủ, vì kèo bóng đá cúp c2 tham số được cung cấp rõ ràng là không chính xác hoặc Có một số vấn đề phía khách hàng (ví dụ, của bộ nhớ).
PQPing
PQPing
Báo cáo trạng thái
của máy chủ. Nó chấp nhận các tham số kèo bóng đá cúp c2 giống hệt
cho những ngườiPQConnectDB
,,
mô tả ở trên. Tuy nhiên, không cần thiết để cung cấp
đúng tên người dùng, mật khẩu hoặc giá trị tên cơ sở kèo bóng đá cúp c2 thành
có được trạng thái máy chủ.
pgping pqping (const char *conninfo);
Giá trị trả về giống như đối vớiPQPingParams
.