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 / 7.3 / 7.2
Tài tỷ lệ kèo bóng đá 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ế.

31.1. Điều khiển tỷ lệ kèo bóng đá cơ sở dữ liệu Chức năng

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, PQConnectDBParamshoặ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. ThePQStatusHà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àmEXECTừ quy trình con để tải a thực thi mới là an toàn.

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ọiwsastartup ()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ưPQSetDbLoginbê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ặnPQConnectStartParamsPQConnectPoll) đượ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à:

host

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.

hostaddr

Đị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ủ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.

Cổng

18740_18874

dbname

Tên cơ sở dữ tỷ lệ kèo bóng đá. Mặc định giống như Tên người dùng.

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.

Mật khẩu

19743_19825

Connect_Timeout

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.

Tùy chọn

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.

application_name

Chỉ định giá trị choapplication_nameTham số cấu hình.

fallback_application_name

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.

Keepalives

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.

Keepalives_idle

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.

Keepalive_interval

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

Keepalives_Count

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.

tty

Bỏ qua (trước đây, nơi này được chỉ định nơi gửi đầu ra gỡ lỗi máy chủ).

SSLMode

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épưa thíchsẽ được chấp nhận nhưnglibpqSẽ không thực sự cố gắngSSLtỷ lệ kèo bóng đá.

abitessl

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.

SSLCERT

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.

sslkey

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.

SSLROOTCERT

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.

SSLCRL

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.

krbsrvname

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.5Phần 19.3.3.)

GSSLIB

33924_34015GSSAPIĐể buộc libpq sử dụng Thư viện GSSAPI để xác thực thay vì SSPI mặc định.

Dịch vụ

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à,\ '\.

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ủaPQConnectDBVớ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 choPQConnectDBvà 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ọiPQSetDbLoginvới các con trỏ null choĐăng nhậpPWDtham 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 trongPQConnectDBParamshoặ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óagiá 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ôngPQConnectStartParamscũng khôngPQConnectStartcũng khôngPQConnectPollsẽ chặn, miễn là a Số lượng hạn chế được đáp ứng:

  • Thehostaddrhost41440_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ụngPQConnectStartParamstương tự nhưPQConnectStarthiể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ếuPQConnectStartThà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à:

45781_45801

chờ tỷ lệ kèo bóng đá được thực hiện.

Connection_Made

tỷ lệ kèo bóng đá OK; chờ gửi.

Connection_Awaiting_Response

Đang chờ phản hồi từ máy chủ.

46560_46580

nhận được xác thực; chờ đợi phụ trợ Khởi động để hoàn thành.

Connection_SSL_startup

Đàm phán mã hóa SSL.

Connection_SetEnv

Đà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ì,PQConnectStarttheo sau làPQConnectPollVòng lặp tương đương vớiPQConnectDB.

Lưu ý rằng nếuPQConnectStartTrả về một người không phải là null con trỏ, bạn phải gọipqfinishKhi 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ểPQConnectDB49995_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 địnhPQConnectDBTù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_52500PQConnInfofree52542_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, PQConnectStartPQConnectPoll.

Để 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ụngpqresetpollTrong 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.