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 kèo bóng đá hôm nay và ngày mai 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 kèo bóng đá hôm nay và ngày mai cơ sở dữ liệu Chức năng

Các chức năng sau liên quan đến việc tạo kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai được biểu diễn bằng mộtPGConnđối tượng, được lấy từ chức kèo bóng đá hôm nay và ngày maiPQConnectDB, PQConnectDBParamshoặcPQSetDbLogin. Lưu ý rằng các chức kèo bóng đá hôm nay và ngày mai 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 Trả về giá trị cho kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai.

Cảnh báo

11678_11967EXECTừ quá trình con 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 kèo bóng đá hôm nay và ngày mai 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 kèo bóng đá hôm nay và ngày mai 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 kèo bóng đá hôm nay và ngày mai cơ sở dữ liệu cuối cùng được đóng.

PQConnectDBParams

Tạo kèo bóng đá hôm nay và ngày mai mới với máy chủ cơ sở dữ liệu.

PGConn *PQConnectDbParams (const char *const *từ khóa,
                          const char * const * giá trị,
                          int expand_dbname);

Hàm này mở kèo bóng đá hôm nay và ngày mai cơ sở dữ liệu mới bằng cách sử dụng tham số được lấy từ hainullMảng được kèo bóng đá hôm nay và ngày mai thúc. Đầ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 kèo bóng đá hôm nay và ngày mai, vì vậy sử dụng chức kèo bóng đá hôm nay và ngày mai 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.

Các từ khóa tham số hiện được công nhận được liệt kê TRONGPhần 31.1.2.

Khiexpand_dbnamelà khác không, ThedbnameGiá trị từ khóa là được phép được nhận dạng là một chuỗi kèo bóng đá hôm nay và ngày mai. Chỉ có Sự xuất hiện đầu tiên củadbnameIS đã mở rộng theo cách này, mọi sau đódbnameGiá trị được xử lý như đơn giản Tên cơ sở dữ liệu. Thông tin chi tiết về kèo bóng đá hôm nay và ngày mai có thể Các định dạng chuỗi xuất hiện trongPhần 31.1.1.

Mảng được truyền có thể trống để sử dụng tất cả các 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.

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,14) đượ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ó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 kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 hoặc nó có thể chứaURI. Nhìn thấyPhần 31.1.1Để biết chi tiết.

PQSetDbLogin

Tạo kèo bóng đá hôm nay và ngày mai mới với máy chủ cơ sở dữ liệu.

PGConn *pqsetdblogin (const char *pghost,
                     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 tập hợp cố định tham số. Nó có cùng chức kèo bóng đá hôm nay và ngày mai 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 hiệu hoặc có kèo bóng đá hôm nay và ngày mai hợp lệURItiền tố, nó được lấy như mộtConninfoChuỗi chính xác giống như cách nó đã được truyền choPQConnectDBvà các tham số còn lại sau đó được áp dụng theo quy định choPQConnectDBParams.

PQSetDB

Tạo kèo bóng đá hôm nay và ngày mai 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ả kèo bóng đá hôm nay và ngày mai tương thích ngược với các chương trình rất cũ.

PQConnectStartParams
PQConnectStart
PQConnectPoll

Tạo kèo bóng đá hôm nay và ngày mai với máy chủ cơ sở dữ liệu trong A trong A cách không chặn.

PGConn *PQConnectStartParams (const char *const *từ khóa, từ khóa,
                             const char * const * giá trị,
                             int expand_dbname);

Pgconn *pqconnectStart (const char *conninfo);

PostgrespollingStatusType PQConnectPoll (PGConn *Conn);

Ba chức năng này được sử dụng để mở kèo bóng đá hôm nay và ngày mai 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,, kèo bóng đá hôm nay và ngày mai 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ớiPQConnectStart, The kèo bóng đá hôm nay và ngày mai 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:

  • Thehostaddrmáy chủtham số được sử dụng một cách thích hợp để đảm bảo rằng các truy vấn tên và tên ngược không làm ra. Xem tài kèo bóng đá hôm nay và ngày mai của các tham số này trongPhần 31.1.2Để 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 nằm trong thích 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 kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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ếnlibpqđể nó có thể tiến hành Trình tự kèo bóng đá hôm nay và ngày mai. Sử dụngPQSocket (Conn)Để có được bộ mô tả của ổ cắm bên dưới kèo bóng đá hôm nay và ngày mai cơ sở dữ liệu. Vòng lặp Do đó: nếuPQConnectPoll (Conn)Đã trả về 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 kèo bóng đá hôm nay và ngày mai 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, hành xử 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 đá hôm nay và ngày mai đã thất bại hoặcPGRES_POLLING_OK, Cho biết kèo bóng đá hôm nay và ngày mai đã được thực hiện thành công.

Bất cứ lúc nào trong quá trình kèo bóng đá hôm nay và ngày mai, trạng thái của kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai đã thất bại; Nếu cuộc gọi trả vềConnection_ok, thì kèo bóng đá hôm nay và ngày mai 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 kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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à:

Connection_started

chờ kèo bóng đá hôm nay và ngày mai được thực hiện.

Connection_Made

kèo bóng đá hôm nay và ngày mai OK; chờ gửi.

Connection_Awaiting_Response

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

Connection_Auth_ok

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

Tham số điều khiển môi trường Cài đặt.

Lưu ý rằng, mặc dù các hằng số này sẽ vẫn còn ( để duy trì khả kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai ...";
            phá vỡ;

        Case Connection_Made:
            Phản hồi = "kèo bóng đá hôm nay và ngày mai với máy chủ ...";
            phá vỡ;
.
.
.
        mặc định:
            Phản hồi = "kèo bóng đá hôm nay và ngày mai ...";

TheConnect_Timeoutkèo bóng đá hôm nay và ngày mai 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 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 kèo bóng đá hôm nay và ngày mai cố gắng thất bại hoặc bị bỏ rơi.

PQConnDefaults

Trả về các tùy chọn kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai. 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 đá hôm nay và ngày mai. Điều này có thể được sử dụng để Xác định tất cả có thểPQConnectDBTù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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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.

PQConnInfoparse

Trả về các tùy chọn kèo bóng đá hôm nay và ngày mai phân tích cú pháp từ được cung cấp chuỗi kèo bóng đá hôm nay và ngày mai.

30993_31068

Phân tích chuỗi kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai. Chức năng này có thể được sử dụng để trích xuấtPQConnectDBTùy chọn trong Cung cấp chuỗi kèo bóng đá hôm nay và ngày mai. Giá trị trả về chỉ ra một mảngPQConninFooptionCấu trúc, kèo bóng đá hôm nay và ngày mai thúc bằng một mục có nullTừ khóaCon trỏ.

Tất cả các tùy chọn pháp lý sẽ có mặt trong mảng kèo bóng đá hôm nay và ngày mai quả, NhưngPQConninFooptionĐối với bất kỳ tùy chọn không có trong chuỗi kèo bóng đá hôm nay và ngày mai sẽ cóValĐặt thànhnull; Giá trị mặc định không được chèn.

nếuerrmsgkhông phảiNULL, sau đó*errmsgđược đặt thànhnullThà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à hàm để 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 đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 kèo bóng đá hôm nay và ngày mai với máy chủ và cố gắng thiết lập lại một kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 kèo bóng đá hôm nay và ngày mai với máy chủ và cố gắng thiết lập lại một kèo bóng đá hôm nay và ngày mai 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 đá hôm nay và ngày mai 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 kèo bóng đá hôm nay và ngày mai này bị giống nhau Hạn chế làPQConnectStartParams, PQConnectStartPQConnectPoll.

Để bắt đầu đặt lại kèo bóng đá hôm nay và ngày mai, hãy 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 kèo bóng đá hôm nay và ngày mai bằng cách sử dụngPQConnectPoll.

PQPingParams

PQPingParamsBá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 đá hôm nay và ngày mai 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ở dữ kèo bóng đá hôm nay và ngày mai để có được máy chủ trạng thái.

PGPing PQPingParams (const char * const * từ khóa,
                    const char * const * giá trị,
                    int expand_dbname);

Hàm trả về một trong các giá trị sau:

PQPing_OK

Máy chủ đang chạy và dường như đang chấp nhận kèo bóng đá hôm nay và ngày mai.

PQPing_Rject

Máy chủ đang chạy nhưng ở trạng thái kèo bóng đá hôm nay và ngày mai không hoàn toàn (khởi động, tắt máy hoặc sự cố sự hồi phục).

pqping_no_response

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 đá hôm nay và ngày mai đã cho tham số (ví dụ: số cổng sai) hoặc đó Có một vấn đề kèo bóng đá hôm nay và ngày mai mạng (ví dụ, Tường lửa chặn yêu cầu kèo bóng đá hôm nay và ngày mai).

PQPing_NO_ATTEMEM

Không có nỗ lực nào được thực hiện để liên hệ với máy chủ, vì các 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

PQPingBá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 đá hôm nay và ngày mai 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ở dữ kèo bóng đá hôm nay và ngày mai 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.

31.1.1. Chuỗi kèo bóng đá hôm nay và ngày mai

vàilibpqchức năng Phân tích một chuỗi do người dùng chỉ định để có được các tham số kèo bóng đá hôm nay và ngày mai. Có hai định dạng được chấp nhận cho các chuỗi sau: trơntừ khóa = valuechuỗi vàRFC 3986uris.

31.1.1.1. Chuỗi kèo bóng đá hôm nay và ngày mai từ khóa/giá trị

Ở định dạng đầu tiên, mỗi cài đặt tham số ở dạngTừ 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 một giá trị chứa khoảng trắng, bao quanh nó với các trích dẫn đơn, ví dụ:Từ khóa = 'A Value'. Trích dẫn đơn và các dấu gạch chéo ngược trong giá trị phải được thoát ra với một Backslash, tức là,\ '\.

Ví dụ:

host = port localhost = 5432 dbname = MyDB Connect_Timeout = 10

Các từ khóa tham số được công nhận được liệt kê trongPhần 31.1.2.

31.1.1.2. kèo bóng đá hôm nay và ngày mai uris

biểu mẫu chung cho kèo bóng đá hôm nay và ngày maiURIIS:

40643_40726

TheuriĐề án người chỉ định có thể làPostgresql: //hoặcPostgres: //. MỗiURICác bộ phận là tùy chọn. Sau đây Ví dụ minh họa hợp lệuriCú pháp sử dụng:

POSTGRESQL: //
Postgresql: // Localhost
Postgresql: // Localhost: 5433
Postgresql: // Localhost/MyDB
Postgresql: // user@localhost
Postgresql: // Người dùng: Secret@localhost
postgresql: // other@localhost/otherdb? Connect_timeout = 10 & application_name = myApp

Các thành phần của phần phân cấp củaURIcũng có thể được đưa ra dưới dạng tham số. Vì ví dụ:

Postgresql: /// mydb? Host = localhost & port = 5433

Mã hóa phần trăm có thể được sử dụng để bao gồm các ký hiệu với Ý nghĩa đặc biệt trong bất kỳuricác bộ phận.

Bất kỳ tham số kèo bóng đá hôm nay và ngày mai nào không tương ứng với các từ khóa được liệt kê trongPhần 31.1.2bị bỏ qua và một thông báo cảnh báo về chúng được gửi đếnstderr.

Để cải thiện khả năng tương thích với kèo bóng đá hôm nay và ngày mai JDBCuris, các trường hợp của tham sốssl = trueđược dịch vào trongSSLMode = Yêu cầu.

Phần máy chủ có thể là tên máy chủ hoặc địa chỉ IP. ĐẾN Chỉ định địa chỉ máy chủ IPv6, đặt nó theo hình vuông dấu ngoặc:

Postgresql: // [2001: DB8 :: 1234]/cơ sở dữ kèo bóng đá hôm nay và ngày mai

Thành phần máy chủ được giải thích như được mô tả cho tham sốhost. TRONG đặc biệt, một kèo bóng đá hôm nay và ngày mai ổ cắm miền đơn vị được chọn nếu phần máy chủ trống hoặc bắt đầu bằng một dấu gạch chéo, nếu không kèo bóng đá hôm nay và ngày mai TCP/IP được bắt đầu. Lưu ý, tuy nhiên, sự chém là một đặc tính dành riêng trong phần phân cấp của URI. Vì vậy, để chỉ định một thư mục ổ cắm miền Unix không chuẩn, hoặc bỏ qua đặc tả máy chủ trong URI và chỉ định máy chủ dưới dạng tham số hoặc phần trăm mã hóa đường dẫn trong máy chủ Thành phần của URI:

postgresql: /// dbname? Host =/var/lib/postgresql
PostgreSql: //%2FVAR%2Flib%2FPostgresql/dbname

31.1.2. Từ khóa tham số

Các từ khóa tham số hiện được nhận ra là:

host

Tên của máy chủ để kèo bóng đá hôm nay và ngày mai 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 là Truyền thông TCP/IP; Giá trị là tên của thư mục trong đó tệp ổ cắm được lưu trữ. Mặc định hành vi khihostkhông được chỉ định là kèo bóng đá hôm nay và ngày mai với ổ cắm miền đơn vị trong/TMP(hoặc bất kỳ ổ cắm nào thư mục đã đượ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à kèo bóng đá hôm nay và ngày mai vớiLocalhost.

hostaddr

Địa chỉ IP số của máy chủ để kèo bóng đá hôm nay và ngày mai với. Điều này nên ở đị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ỉ đó. TCP/IP giao tiếp luôn được sử dụng khi một chuỗi không trống được chỉ định cho tham số này.

Sử dụnghostaddrthay vìhostCho phép ứng dụng tránh tìm kiếm tên máy chủ, điều này có thể quan trọng trong Các ứng dụng có hạn chế về thời gian. Tuy nhiên, một tên máy chủ được yêu cầu cho xác thực Kerberos, GSSAPI hoặc SSPI các phương thức, cũng như choxác minh-đầy đủXác minh chứng chỉ SSL. Các quy tắc sau được sử dụng:

  • nếumáy chủđược chỉ định không cóhostaddr, một máy chủ Tra cứu tên xảy ra.

  • nếuhostaddrđược chỉ định không cóhost, giá trị chohostaddrCung cấp cho máy chủ địa chỉ mạng. Nỗ lực kèo bóng đá hôm nay và ngày mai sẽ thất bại nếu Phương thức xác thực yêu cầu tên máy chủ.

  • Nếu cả haihosthostaddrđược chỉ định, Giá trị chohostaddrđưa ra Đị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 đó 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 đá hôm nay và ngày mai thất bại nếuhostkhông phải là tên của Máy chủ tại địa chỉ mạnghostaddr. Ngoài ra, lưu ý rằnghostthay vìhostaddrđược sử dụng để xác định kèo bóng đá hôm nay và ngày mai trong~/.pgass(xemPhần 31.15).

Không có tên máy chủ hoặc địa chỉ máy chủ,libpqSẽ kèo bóng đá hôm nay và ngày mai bằng cách sử dụng một ổ cắm miền đơn vị địa phương; hoặc trên máy không có Ổ cắm Unix-miền, nó sẽ cố gắng kèo bóng đá hôm nay và ngày mai vớiLocalhost.

Cổng

Số cổng để kèo bóng đá hôm nay và ngày mai với máy chủ máy chủ hoặc Tiện ích mở rộng tên tệp của ổ cắm cho Unix-Domain kèo bóng đá hôm nay và ngày mai.

dbname

Tên cơ sở dữ kèo bóng đá hôm nay và ngày mai. Mặc định giống như người dùng tên. Trong một số bối cảnh nhất định, giá trị được kiểm tra định dạng mở rộng; nhìn thấyPhần 31.1.1Để biết thêm chi tiết về những điều đó.

user

PostgreSQLTên người dùng để kèo bóng đá hôm nay và ngày mai như. Mặc định giống như hoạt động Tên hệ thống của người dùng đang chạy ứng dụng.

Mật khẩu

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.

Connect_Timeout

Chờ tối đa để kèo bóng đá hôm nay và ngày mai, tính bằng giây (viết dưới dạng a Chuỗi số nguyên thập phân). Không hoặc không được chỉ định có nghĩa là chờ đợi vô thời hạn. Không nên sử dụng thời gian chờ của ít hơn 2 giây.

client_encoding

Điều này đặtclient_encodingTham số cấu hình cho kèo bóng đá hôm nay và ngày mai này. Ngoài ra với các giá trị được chấp nhận bởi máy chủ tương ứng tùy chọn, bạn có thể sử dụngAutođến xác định mã hóa phù hợp từ địa phương hiện tại trong máy khách (lc_ctypeMôi trường Biến trên các hệ thống UNIX).

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ủa Thegeqotham số đếnTẮT. Cho một cuộc thảo luận chi tiết về Các tùy chọn có sẵn, tham khảoChươ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 Giá trị đã được đưa ra choapplication_namethông qua kèo bóng đá hôm nay và ngày mai 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 ghi đè bởi người dùng.

Keepalives

Kiểm soát xem các thiết bị giữ TCP phía máy khách có được sử dụng hay khô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 đến 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 đá hôm nay và ngày mai được thực hiện thông qua Ổ cắm unix-lomain.

Keepalive_idle

Kiểm soát số giây không hoạt động sau khi TCP nào sẽ gửi một thông báo giữ cho máy chủ. Giá trị bằng 0 sử dụng mặc định hệ thống. Tham số này bị bỏ qua cho các kèo bóng đá hôm nay và ngày mai được thực hiện thông qua ổ cắm tên miền Unix, hoặc nếu giữ hàng bị vô hiệu hóa. Nó chỉ được hỗ trợ trên các hệ thống trong đóTCP_Keepidlehoặc một Tùy chọn ổ cắm tương đương có sẵn và trên Windows; TRÊN các hệ thống khác, nó không có tác dụng.

Keepalive_interval

Điều khiển số giây sau đó TCP Thông điệp giữ không được máy chủ thừa nhận nên được truyền lại. 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 đá hôm nay và ngày mai được thực hiện thông qua ổ cắm tên miền Unix, hoặc nếu giữ hàng bị vô hiệu hóa. Nó chỉ được hỗ trợ trên các hệ thống trong đóTCP_KeepIntVLhoặc ổ cắm tương đương Tùy chọn có sẵn và trên Windows; Trên các hệ thống khác, nó không có tác dụng.

Keepalive_Count

Kiểm soát số lượng Keepalive TCP có thể bị mất Trước khi kèo bóng đá hôm nay và ngày mai của máy khách với máy chủ là được coi là chết. Giá trị bằng 0 sử dụng mặc định hệ thống. Tham số này bị bỏ qua cho các kèo bóng đá hôm nay và ngày mai đượ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ó là chỉ được hỗ trợ trên các hệ thống trong đótcp_keepcnthoặc tùy chọn ổ cắm tương đương 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, được chỉ định là nơi gửi máy chủ đầu ra gỡ lỗi).

SSLMode

Tùy chọn này xác định xem có ưu tiên nào chắc chắnSSLTCP/IP kèo bóng đá hôm nay và ngày mai sẽ được đàm phán với máy chủ. Có Sáu chế độ:

vô hiệu hóa

Chỉ thử khôngSSLkèo bóng đá hôm nay và ngày mai

Cho phép

Đầu tiên hãy thử khôngSSLkèo bóng đá hôm nay và ngày mai; Nếu điều đó thất bại, thử mộtSSLkèo bóng đá hôm nay và ngày mai

ưa thích(mặc định)

Đầu tiên hãy thửSSLkèo bóng đá hôm nay và ngày mai; Nếu điều đó thất bại, Thử khôngSSLkèo bóng đá hôm nay và ngày mai

Yêu cầu

Chỉ thửSSLkèo bóng đá hôm nay và ngày mai. Nếu một gốc Ca Tệp có mặt, xác minh chứng chỉ trong cùng một cách như thểXác minh-CAwas được chỉ định

Xác minh-CA

chỉ thửSSLkèo bóng đá hôm nay và ngày mai và xác minh điều đó Chứng chỉ máy chủ được cấp bởi một người đáng tin cậy Cơ quan chứng chỉ (CA)

xác minh-đầy đủ

chỉ thửSSLkèo bóng đá hôm nay và ngày mai, xác minh rằng Chứng chỉ máy chủ được cấp bởi một người đáng tin cậyCAVà đó là Tên máy chủ máy chủ phù hợp với giấy chứng nhận

xemPhần 31,18cho a Mô tả chi tiết về cách các tùy chọn này hoạt động.

SSLModebị bỏ qua cho Unix Giao tiếp ổ cắm miền. Nếu nhưPostgreSQLđược biên dịch mà không có SSL Hỗ trợ, 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ự thửSSLkèo bóng đá hôm nay và ngày mai.

abitessl

Tùy chọn này không được ủng hộ theo hướngSSLModeCài đặt.

Nếu được đặt thành 1, anSSLkèo bóng đá hôm nay và ngày mai với máy chủ là bắt buộc (điều này tương đương ĐẾNSSLMode Yêu cầu).libpqSau đó sẽ từ chối kèo bóng đá hôm nay và ngày mai nếu máy chủ không chấp nhậnSSLkèo bóng đá hôm nay và ngày mai. Nếu được đặt thành 0 (mặc định),libpqWill Thương lượng loại kèo bóng đá hôm nay và ngày mai với máy chủ (tương đương ĐẾNSSLMode ưa thích). Tùy chọn này chỉ khả dụng nếuPostgreSQLđược biên soạn với hỗ trợ SSL.

SSLCompression

Nếu được đặt thành 1 (mặc định), dữ liệu được gửi qua các kèo bóng đá hôm nay và ngày mai SSL sẽ được nén (điều này yêu cầuOpenSSLPhiên bản 0.9.8 trở lên). Nếu như được đặt thành 0, nén sẽ bị vô hiệu hóa (điều này yêu cầuOpenSSL1.0.0 trở lên). Tham số này bị bỏ qua nếu kèo bóng đá hôm nay và ngày mai không có SSL là được thực hiện hoặc nếu phiên bản củaOpenSSLĐược sử dụng không hỗ trợ Nó.

Nén sử dụng thời gian CPU, nhưng có thể cải thiện thông lượng Nếu mạng là nút cổ chai. Vô hiệu hóa nén có thể cải thiện thời gian phản hồi và thông lượng nếu CPU Hiệu suất là yếu tố giới hạn.

SSLCERT

Tham số này chỉ định tên tệp của máy khách Chứng chỉ SSL, thay thế mặc định~/.Postgresql/postgresql.crt. Cái này tham số bị bỏ qua nếu kèo bóng đá hôm nay và ngày mai SSL không làm ra.

SSLKey

Tham số này chỉ định vị trí cho bí mật Khóa được sử dụng cho chứng chỉ máy khách. Nó có thể chỉ định tên tệp sẽ được sử dụng thay vì 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àOpenSSLMô -đun có thể tải). MỘT Thông số kỹ thuật động cơ bên ngoài nên bao gồm một Tên động cơ được phân tách đại tràng và một phím dành riêng cho động cơ định danh. Tham số này bị bỏ qua nếu một SSL kèo bóng đá hôm nay và ngày mai 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 là có chữ ký của 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 chứng chỉ của máy chủ. Các Mặc định là~/.Postgresql/root.crl.

Yêu cầu

Tham số này chỉ định người dùng hệ điều hành Tên của máy chủ, ví dụaberpeer = postgres. Khi làm a kèo bóng đá hôm nay và ngày mai ổ cắm tên miền Unix, nếu tham số này được đặt, máy khách kiểm tra ở đầu kèo bóng đá hôm nay và ngày mai Quá trình máy chủ đang chạy theo người dùng được chỉ định tên; Nếu không, kèo bóng đá hôm nay và ngày mai bị hủy bỏ với lỗi. Tham số này có thể được sử dụng để cung cấp máy chủ Xác thực tương tự như có sẵn với SSL Chứng chỉ trên kèo bóng đá hôm nay và ngày mai TCP/IP. (Lưu ý rằng nếu Ổ cắm unix-lomain ở trong/TMPhoặc một vị trí có thể ghi công khai khác, bất kỳ người dùng nào cũng có thể Bắt đầu một máy chủ lắng nghe ở đó. Sử dụng tham số này để đảm bảo rằng bạn được kèo bóng đá hôm nay và ngày mai với một máy chủ được chạy bởi một Người dùng đáng tin cậy.) Tùy chọn này chỉ được hỗ trợ trên các nền tảng màPeerPhương pháp xác thực được thực hiện; nhìn thấyPhần 19.3.7.

krbsrvname

Tên dịch vụ 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 Kerberos xác thực để thành công. (Xem thêmPhần 19.3.5Phần 19.3.3.)

GSSLIB

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 cho 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.confgiữ thêm tham số kèo bóng đá hôm nay và ngày mai. Điều này cho phép các ứng dụng Chỉ xác định tên dịch vụ để các tham số kèo bóng đá hôm nay và ngày mai có thể được duy trì tập trung. Nhìn thấyPhần 31.16.