Postgresql 9.0.23 Tài tỷ lệ kèo bóng đá | ||||
---|---|---|---|---|
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 tỷ lệ kèo bóng đá với APostgreSQLMáy chủ phụ trợ. MỘT
Chương trình ứng dụng có thể mở một số tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá được biểu diễn bằng mộtPGConnđối tượng, được lấy từ
chức tỷ lệ kèo bóng đáPQConnectDB
, PQConnectDBParams
hoặcPQSetDbLogin
. Lưu ý rằng các chức tỷ lệ kèo bó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
liệu một tỷ lệ kèo bóng đá đã được thực hiện thành công trước khi các truy vấn
Đã gửi qua đối tượng tỷ lệ kèo bóng đá.
cảnh báo |
Trên UNIX, việc đưa ra một quy trình với các tỷ lệ kèo bóng đá LibPQ mở
có thể dẫn đến kết quả không thể đoán trước vì cha mẹ và
Các quy trình trẻ em chia sẻ cùng một ổ cắm và hoạt động
tài nguyên hệ thống. Vì lý do này, việc sử dụng như vậy không
được đề xuất, mặc dù đang làm |
Lưu ý:Trên Windows, có một cách để cải thiện Hiệu suất nếu một tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá 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ả các tài nguyên và tất cả các 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 tỷ lệ kèo bóng đá cơ sở dữ liệu cuối cùng được đóng.
PQConnectDBParams
Tạo tỷ lệ kèo bóng đá mới với máy chủ cơ sở dữ liệu.
13392_13485
Hàm này mở tỷ lệ kèo bóng đá cơ sở dữ liệu mới bằng cách sử dụng
tham số được lấy từ hainull-tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá, vì vậy sử dụng chức tỷ lệ kèo bóng đá này (hoặc
Các chất tương tự không chặnPQConnectStartParams
vàPQConnectPoll
) được ưu tiên cho mới
Lập trình ứng dụng.
khiexpand_dbnamelà không khác, 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.
14526_14734nullphần tử củaTừ khóamảng.
Các từ khóa tham số hiện được công nhận là:
Tên máy chủ để tỷ lệ kèo bóng đá 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à tỷ lệ kèo bóng đá 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 khiPostgreSQLđã được xây dựng). TRÊN máy không có ổ cắm tên miền Unix, mặc định là Để tỷ lệ kèo bóng đá với15801_15812.
Địa chỉ IP số của máy chủ để tỷ lệ kèo bóng đá 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 các đị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 các ứng dụng với các ràng buộc thời gian. Tuy nhiên, một tên máy chủ được yêu cầu cho Kerberos, GSSAPI hoặc xác thực SSPI, cũng như đầy đủ Xác minh chứng chỉ SSL. Các 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ếu nhưhostaddrđược chỉ định mà không cómáy chủ, giá trị chohostaddrCung cấp cho máy chủ Địa chỉ. Nỗ lực tỷ lệ kèo bóng đá sẽ thất bại trong bất kỳ các trường hợp cần một tên máy chủ được yêu cầu. Nếu cả haimáy chủvàhostaddrđược chỉ định, giá trị chohostaddrCung cấp cho máy chủ Địa chỉ. Giá trị chohostbị bỏ qua trừ khi cần thiết để xác thực hoặc mục đích xác minh, trong trường hợp đó nó sẽ được sử dụng như tên máy chủ. Lưu ý rằng xác thực có khả tỷ lệ kèo bóng đá thất bại nếuhostkhông phải là Tên của máy tạihostaddr. Ngoài ra, lưu ý rằnghostchứ không phảihostaddrđược sử dụng để xác định tỷ lệ kèo bóng đá trong~/.PGPass(xemPostgreSQL: Tài liệu:).
Không có tên máy chủ hoặc địa chỉ máy chủ,libpqSẽ tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá vớiLocalhost.
18740_18874
Tên cơ sở dữ tỷ lệ kèo bóng đá. Mặc định giống như Tên người dùng.
PostgreSQLNgười dùng Tên để tỷ lệ kèo bóng đá 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.
19743_19825
Chờ tối đa để tỷ lệ kèo bóng đá, 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.
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ị phiên củageqotham số đếnTẮT. Cho một chi tiết Thảo luận về các 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 tỷ lệ kèo bóng đá tham số hoặcPGAPPNAMEBiến môi trường. Chỉ định một tên dự phòng là hữu ích trong các 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 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 tỷ lệ kèo bóng đá Được thực hiện thông qua ổ cắm miền Unix.
22846_23213TCP_KeepidlehoặcTCP_KeepaliveTùy chọn ổ cắm là Có sẵn, và trên Windows; Trên các hệ thống khác, nó có không có tác dụng.
Đ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 tỷ lệ kèo bóng đá đượ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 các 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 tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá đượ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 các 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 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ànSSLtỷ lệ kèo bóng đá TCP/IP sẽ thương lượng với máy chủ. Có sáu chế độ:
Bảng 31-1.SSLModeTùy chọn
Tùy chọn | Mô tả |
---|---|
26269_26278 | Chỉ thử khôngSSLtỷ lệ kèo bóng đá |
cho phép | Đầu tiên hãy thử khôngSSLtỷ lệ kèo bóng đá; Nếu điều đó thất bại, thử mộtSSLtỷ lệ kèo bóng đá |
ưa thích(mặc định) | Đầu tiên hãy thửSSLtỷ lệ kèo bóng đá; Nếu điều đó Thất bại, hãy thử khôngSSLtỷ lệ kèo bóng đá |
Yêu cầu | chỉ thửSSLtỷ lệ kèo bóng đá. 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 |
Xác minh-CA | chỉ thửSSLtỷ lệ kèo bóng đá và Xác minh rằng chứng chỉ máy chủ được cấp bởi một người đáng tin cậyCA |
xác minh-đầy đủ | Chỉ thửSSLtỷ lệ kèo bóng đá, xác minh rằng chứng chỉ máy chủ được cấp bởi một đáng tin cậyCAvà tên máy chủ máy chủ phù hợp với tên máy chủ trong Chứng chỉ |
xemPhần 31,17cho Mô tả chi tiết về cách các 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 soạn 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ắngSSLtỷ lệ kèo bóng đá.
Tùy chọn này không được ủng hộ theo hướngSSLModeCài đặt.
Nếu được đặt thành 1, mộtSSLtỷ lệ kèo bóng đá với máy chủ là bắt buộc (điều này tương đương vớiSSLMode Yêu cầu).libpqSau đó sẽ từ chối tỷ lệ kèo bóng đá nếu máy chủ không chấp nhậnSSLtỷ lệ kèo bóng đá. Nếu như đặt thành 0 (mặc định),libpqSẽ thương lượng Loại tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá 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 (CA) Chứng chỉ (s). Nếu tập tin tồn tại, chứng chỉ của máy chủ sẽ được xác minh được ký bởi một trong những cơ quan này. Mặc định là~/.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.
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.)
33924_34015GSSAPIĐể 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 các tham số bổ sung. Nó Chỉ định tên dịch vụ trongpg_service.conf34526_34730Phầ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ác không
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
(xem bên dưới). Trước đây
Các từ khóa được xử lý sẽ bị ghi đè bởi các từ khóa trongConninfochuỗi.
Nói chung, các từ khóa được xử lý từ đầu Các mảng theo thứ tự chỉ mục. Hiệu quả của điều này là Khi các 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 tỷ lệ kèo bóng đá mới với máy chủ cơ sở dữ liệu.
PGConn *PQConnectDB (const char *Conninfo);
Hàm này mở tỷ lệ kèo bóng đá cơ sở dữ liệu mới bằng cách sử dụng tham số được lấy từ chuỗiConninfo.
Chuỗi truyền có thể trống để sử dụng tất cả các mặc định tham số hoặc nó có thể chứa một hoặc nhiều tham số Cài đặt được phân tách bằng khoảng trắng. Mỗi cài đặt tham số là Trong biểu mẫutừ 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à\.
Các từ khóa tham số hiện được nhận ra là Giống như trên.
PQSetDbLogin
Tạo tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá ngoại trừ
Thiếu tham số sẽ luôn luôn có các giá trị mặc định.
Viếtnullhoặc một chuỗi trống cho
bất kỳ một trong các tham số cố định là
mặc định.
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à các tham số còn lại
sau đó được áp dụng như trên.
PQSetDB
Tạo tỷ lệ kèo bóng đá 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 các con trỏ null choĐăng nhậpvàPWDtham số. Nó được cung cấp cho
Khả tỷ lệ kèo bóng đá tương thích ngược với các chương trình rất cũ.
PQConnectStartParams
PQConnectStart
PQConnectPoll
Tạo tỷ lệ kèo bóng đá với máy chủ cơ sở dữ liệu trong A trong A cách không chặn.
39620_39819
Ba chức năng này được sử dụng để mở tỷ lệ kèo bóng đá với A
máy chủ cơ sở dữ liệu sao cho chủ đề của ứng dụng của bạn về
Thực thi không bị chặn trên I/O từ xa trong khi làm như vậy. Các
Điểm của phương pháp này là sự chờ đợi cho I/O
Hoàn thành có thể xảy ra trong vòng lặp chính của ứng dụng, thay vào đó
hơn xuống bên trongPQConnectDBParams
hoặcPQConnectDB
, và vì vậy ứng dụng có thể
Quản lý hoạt động này song song với các hoạt động khác
các hoạt động.
vớiPQConnectStartParams
,,
tỷ lệ kèo bóng đá 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 kiểm soát bởiexpand_dbname, như được mô tả ở trên choPQConnectDBParams
.
với40822_40838
, The
tỷ lệ kèo bóng đá 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àhost41440_41620PQConnectDBParams
ở trên
Để biết chi tiết.
Nếu bạn gọiPQTRACE
,,
đả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 tỷ lệ kèo bóng đá 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ệ
tỷ lệ kèo bóng đá 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ếnlibpq43319_43387PQSocket (Conn)
Để có được bộ mô tả
của ổ cắm bên dưới tỷ lệ kèo bóng đá cơ sở dữ liệu. Vòng lặp
Do đó: nếuPQConnectPoll (Conn)
Đã trả lại lần cuốipgres_polling_reading, đợi cho đến khi ổ cắm
đã sẵn sàng để đọc (như được chỉ ra bởiselect ()
, poll ()
hoặc chức tỷ lệ kèo bóng đá 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ọi44267_44282
,,
tức là, ngay sau cuộc gọi đếnPQConnectStart
, hoạt động như thể nó kéo dài
đã trả về44438_44461.
Tiếp tục vòng lặp này cho đến khiPQConnectPoll (Conn)
returnpgres_polling_failed, chỉ ra
Quy trình tỷ lệ kèo bóng đá đã thất bại hoặcpgres_polling_ok, Cho biết tỷ lệ kèo bóng đá
đã được thực hiện thành công.
Bất cứ lúc nào trong quá trình tỷ lệ kèo bóng đá, trạng thái của
tỷ lệ kèo bóng đá có thể được kiểm tra bằng cách gọipqstatus
. Nếu điều này choConnection_Bad, thì quy trình tỷ lệ kèo bóng đá
đã thất bại; Nếu nó choConnection_ok
, thì tỷ lệ kèo bóng đá là
sẵn sàng. Cả hai trạng thái này đều có thể phát hiện như nhau từ
Giá trị trả về củaPQConnectPoll
, đượ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 tỷ lệ kèo bóng đá không đồng bộ. Những điều này chỉ ra
giai đoạn hiện tại của thủ tục tỷ lệ kèo bóng đá 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ờ tỷ lệ kèo bóng đá được thực hiện.
tỷ lệ kèo bóng đá 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.
Đàm phán tham số điều khiển môi trường Cài đặt.
47304_47626
Switch (pqstatus (Conn)) Case Connection_started: Phản hồi = "tỷ lệ kèo bóng đá ..."; phá vỡ; Case Connection_Made: Phản hồi = "tỷ lệ kèo bóng đá với máy chủ ..."; phá vỡ; . . . mặc định: Phản hồi = "tỷ lệ kèo bóng đá ...";
TheConnect_Timeouttỷ lệ kèo bóng đá
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 phải là null
con trỏ, bạn phải gọipqfinish
Khi bạn kết thúc với nó,
để xử lý cấu trúc và bất kỳ liên kết nào
Khối bộ nhớ. Điều này phải được thực hiện ngay cả khi tỷ lệ kèo bóng đá
cố gắng thất bại hoặc bị bỏ rơi.
PQConnDefaults
Trả về các tùy chọn tỷ lệ kèo bóng đá mặc định.
49063_49841
Trả về một mảng tùy chọn tỷ lệ kèo bóng đá. Điều này có thể được sử dụng để
Xác định tất cả có thểPQConnectDB
49995_50095PQConninFooptionCấu trúc,
tỷ lệ kèo bóng đá 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 (50393_50398Trườ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 tỷ lệ kèo bóng đá là
chỉ đọc.
Sau khi xử lý mảng tùy chọn, hãy giải phóng nó bằng cách truyền
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
.
PQConnInfoparse
Trả về các tùy chọn tỷ lệ kèo bóng đá phân tích cú pháp từ được cung cấp chuỗi tỷ lệ kèo bóng đá.
51108_51183
Phân tích chuỗi tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá. Điều này có thể được sử dụng để xác địnhPQConnectDB
Tùy chọn trong
Cung cấp chuỗi tỷ lệ kèo bóng đá. Giá trị trả về chỉ ra một
mảngPQConninFooptionCấu trúc, tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá quả; KHÔNG Mặc định được chèn.
nếuerrmsgkhông phảiNULL, sau đó*errmsgđược đặt thànhnull52068_52101malloc
'D chuỗi lỗi
giải thích vấn đề. (Nó cũng có thể cho*errmsgđược đặt thànhnullngay cả khinullđược trả về; Điều này cho thấy một bộ nhớ ngoài
tình huống.)
52429_52500PQConnInfofree
52542_52622PQConnInfopars
. 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 tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá 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);
Chức năng này sẽ đóng tỷ lệ kèo bóng đá với máy chủ và cố gắng thiết lập lại một tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá làm việc bị mất.
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 tỷ lệ kèo bóng đá với máy chủ
và cố gắng thiết lập lại một tỷ lệ kèo bóng đá 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 tỷ lệ kèo bóng đá 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. Các chức tỷ lệ kèo bóng đá này bị giống nhau
Hạn chế làPQConnectStartParams
, PQConnectStart
vàPQConnectPoll
.
Để bắt đầu đặt lại tỷ lệ kèo bóng đá, gọiPQResetStart
. Nếu nó trả về 0, thiết lập lại
đã thất bại. Nếu nó trả về 1, hãy bỏ phiếu đặt lại bằng cách sử dụngpqresetpoll
Trong chính xác
theo cách mà bạn sẽ tạo tỷ lệ kèo bóng đá bằng cách sử dụngPQConnectPoll
.