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 liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn xem cùng một trang chohiện tạiPhiên bản hoặc một trong kèo chấp bóng đá hôm nay phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

32.1. Các chức năng điều khiển kèo chấp bóng đá hôm nay cơ sở dữ liệu

Các chức năng sau liên quan đến việc tạo kèo chấp bóng đá hôm nay với APostgreSQLMáy chủ phụ trợ. Một chương trình ứng dụng có thể có một số kèo chấp bóng đá hôm nay phụ trợ mở cùng một lúc. (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 chấp bóng đá hôm nay được biểu thị bằng mộtPGConnĐối tượng, được lấy từ hàm10854_10867, PQConnectDBParamshoặcPQSetDbLogin. Lưu ý rằng kèo chấp bóng đá hôm nay 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ớ để phân bổPGConn11139_11154PQStatusHàm nên được gọi để kiểm tra giá trị trả về cho kèo chấp bóng đá hôm nay thành công trước khi các truy vấn được gửi qua đối tượng kèo chấp bóng đá hôm nay.

Cảnh báo

Nếu người dùng không tin cậy có quyền truy cập vào cơ sở dữ liệu chưa áp dụngmẫu sử dụng lược đồ an toàn, Bắt đầu mỗi phiên bằng cách loại bỏ kèo chấp bóng đá hôm nay lược đồ công khai từ-từsearch_path. Một người có thể đặt từ khóa tham sốTùy chọnđến giá trị-csearch_path =. Xen kẽ, người ta có thể phát hànhPQEXEC (Conn, "Chọn pg_catalog.set_config ('search_path', '', false)")Sau khi kèo chấp bóng đá hôm nay. Sự cân nhắc này không cụ thể cholibpq; Nó áp dụng cho mọi giao diện để thực thi kèo chấp bóng đá hôm nay lệnh SQL tùy ý.

Cảnh báo

Trên Unix, việc đưa ra một quy trình với các kèo chấp bóng đá hôm nay LibPQ mở có thể dẫn đến kết quả không thể đoán trước vì các quy trình của cha mẹ và con có chung các ổ cắm và tài nguyên hệ điều hành. Vì lý do này, việc sử dụng như vậy không được khuyến khích, mặc dù làmEXECTừ quy trình con để tải một thực thi mới là an toàn.

PQConnectDBParams

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

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

Hàm này mở kèo chấp bóng đá hôm nay cơ sở dữ liệu mới bằng cách sử dụng các tham số được lấy từ hainull-kèo chấp bóng đá hôm nay thúc mảng. Đầu tiên,Từ khóa, được định nghĩa là một mảng kèo chấp bóng đá hôm nay chuỗi, mỗi chuỗ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ưPQSetDbLogin13480_13617PQConnectStartParamsPQConnectPoll) được ưu tiên cho lập trình ứng dụng mới.

kèo chấp bóng đá hôm nay từ khóa tham số hiện được công nhận được liệt kê trongPhần 32.1.2.

kèo chấp bóng đá hôm nay mảng được truyền có thể trống để sử dụng tất cả kèo chấp bóng đá hôm nay tham số mặc định hoặc có thể chứa một hoặc nhiều cài đặt tham số. Chúng phải được khớp với chiều dài. Xử lý sẽ dừng ở lần đầu tiênnullNhập vàoTừ khóaMảng. Ngoài ra, nếuGiá trịmục liên quan đến khôngnull Từ khóamục lànullhoặc một chuỗi trống, mục nhập đó bị bỏ qua và xử lý tiếp tục với kèo chấp bóng đá hôm nay mục nhập mảng tiếp theo.

Khiexpand_dbnamelà khác không, giá trị cho đầu tiêndbnameTừ khóa được kiểm tra để xem đó có phải làchuỗi kèo chấp bóng đá hôm nay. Nếu vậy, nó là"Mở rộng"vào các tham số kèo chấp bóng đá hôm nay riêng lẻ được trích xuất từ ​​chuỗi. Giá trị được coi là chuỗi kèo chấp bóng đá hôm nay, thay vì chỉ tên cơ sở dữ liệu, nếu nó chứa một dấu bằng (=) Hoặc nó bắt đầu bằng một trình thiết kế sơ đồ URI. (Thông tin chi tiết về các định dạng chuỗi kèo chấp bóng đá hôm nay xuất hiện trongPhần 32.1.1.) Chỉ lần xuất hiện đầu tiên củadbnameđược đối xử theo cách này; bất kỳ sau đódbnameTham số được xử lý dưới dạng tên cơ sở dữ liệu đơn giản.

Nói chung, kèo chấp bóng đá hôm nay mảng tham số được xử lý từ đầu đến cuối. Nếu bất kỳ từ khóa nào được lặp lại, giá trị cuối cùng (không phảinullhoặc trống) được sử dụng. Quy tắc này được áp dụng cụ thể khi một từ khóa được tìm thấy trong một chuỗi kèo chấp bóng đá hôm nay xung đột với một từ xuất hiện trongTừ khóaMảng. Do đó, lập trình viên có thể xác định xem các mục nhập mảng có thể ghi đè hoặc được ghi đè bởi các giá trị được lấy từ chuỗi kèo chấp bóng đá hôm nay hay không. Các mục nhập mảng xuất hiện trước khi mở rộng15779_15787mục nhập có thể bị ghi đè bởi các trường của chuỗi kèo chấp bóng đá hôm nay và lần lượt các trường đó được ghi đè bởi các mục nhập mảng xuất hiện saudbname(Nhưng, một lần nữa, chỉ khi kèo chấp bóng đá hôm nay mục đó cung cấp kèo chấp bóng đá hôm nay giá trị không trống).

16026_16243Phần 32.14) được đặt, giá trị của nó được sử dụng. Nếu biến môi trường cũng không được đặt, thì giá trị mặc định tích hợp của tham số được sử dụng.

PQConnectDB

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

PGConn *PQConnectDB (const char *Conninfo);

Hàm này mở kèo chấp bóng đá hôm nay cơ sở dữ liệu mới bằng cách sử dụng các tham số được lấy từ chuỗiConninfo.

Chuỗi truyền có thể trống để sử dụng tất cả kèo chấp bóng đá hôm nay tham số mặc định hoặc nó có thể chứa một hoặc nhiều cài đặt tham số được phân tách bằng khoảng trắng hoặc nó có thể chứaURI. Nhìn thấyPhần 32.1.1Để biết chi tiết.

PQSetDbLogin

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

17273_17560

Đây là tiền thân củaPQConnectDBVới một bộ tham số cố định. Nó có cùng chức năng ngoại trừ kèo chấp bóng đá hôm nay tham số bị thiếu sẽ luôn mang kèo chấp bóng đá hôm nay giá trị mặc định. Viếtnullhoặc chuỗi trống cho bất kỳ một trong kèo chấp bóng đá hôm nay tham số cố định được mặc định.

Nếudbnamechứa=dấu hiệu hoặc có kèo chấp bóng đá hôm nay hợp lệuritiền tố, nó được lấy dưới dạngConninfoChuỗi theo cách tương tự như thể nó đã được truyền đếnPQConnectDBvà kèo chấp bóng đá hôm nay tham số còn lại sau đó được áp dụng theo quy định choPQConnectDBParams.

PQSetDB

Tạo kèo chấp bóng đá hôm nay 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ọiPQSetDbLogin18732_18762Đăng nhập18792_18799PWDtham số. Nó được cung cấp để tương thích ngược với kèo chấp bóng đá hôm nay chương trình rất cũ.

PQConnectStartParams
19073_19089
19124_19139

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

PGConn *PQConnectStartParams (const char *const *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 chấp bóng đá hôm nay với máy chủ cơ sở dữ liệu sao cho chủ đề thực thi ứng dụng của bạn không bị chặn trên I/O từ xa trong khi làm như vậy. Đ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 chính của ứng dụng, thay vì 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 kèo chấp bóng đá hôm nay hoạt động khác.

vớiPQConnectStartParams, kèo chấp bóng đá hôm nay cơ sở dữ liệu được tạo bằng các tham số được lấy 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, kèo chấp bóng đá hôm nay cơ sở dữ liệu được tạo bằng các tham số được lấy từ chuỗiConninfoNhư được mô tả ở trên choPQConnectDB.

KhôngPQConnectStartParamscũng khôngPQConnectStartcũng khôngPQConnectPollSẽ chặn, miễn là một số 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 kèo chấp bóng đá hôm nay truy vấn tên và tên ngược không được thực hiện. Xem tài liệu của kèo chấp bóng đá hôm nay tham số này trongPhần 32.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 chặn.

  • 21259_21331PQConnectPoll, như được mô tả bên dưới.

Lưu ý: Sử dụngPQConnectStartParamstương tự nhưPQConnectStarthiển thị bên dưới.

Để bắt đầu yêu cầu kèo chấp bóng đá hôm nay 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 kèo chấp bóng đá hôm nay hợp lệ với cơ sở dữ liệu). Khi trở về từPQConnectStart, gọistatus = pqstatus (Conn). Nếu nhưstatusbằ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 chấp bóng đá hôm nay. Sử dụngPQSocket (Conn)Để có được bộ mô tả của ổ cắm bên dưới kèo chấp bóng đá hôm nay cơ sở dữ liệu. Vòng lặp như vậy: 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 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ả lại 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 chưa gọiPQConnectPoll, tức là, ngay sau cuộc gọi đếnPQConnectStart, Hành xử như thể nó đã trả về lần cuốiPGRES_POLLING_WRITY. Tiếp tục vòng lặp này cho đến khiPQConnectPoll (Conn)returnPGRES_POLLING_FAILED, Cho biết quy trình kèo chấp bóng đá hôm nay đã thất bại hoặcPGRES_POLLING_OK, cho biết kèo chấp bóng đá hôm nay đã được thực hiện thành công.

Bất cứ lúc nào trong quá trình kèo chấp bóng đá hôm nay, trạng thái của kèo chấp bóng đá hôm nay 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 chấp bóng đá hôm nay đã thất bại; Nếu cuộc gọi trả vềConnection_ok, sau đó kèo chấp bóng đá hôm nay đã 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. Các trạng thái khác cũng có thể xảy ra trong (và chỉ trong) một thủ tục kèo chấp bóng đá hôm nay không đồng bộ. Chúng chỉ ra giai đoạn hiện tại của quy trình kèo chấp bóng đá hôm nay và có thể hữu ích để cung cấp phản hồi cho người dùng chẳng hạn. Các trạng thái này là:

Connection_started

chờ kèo chấp bóng đá hôm nay được thực hiện.

Connection_Made

kèo chấp bóng đá hôm nay 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; Đang chờ phần hoàn thành khởi động.

Connection_SSL_startup

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

Connection_SetEnv

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

Lưu ý rằng, mặc dù kèo chấp bóng đá hôm nay hằng số này sẽ vẫn (để duy trì khả năng tương thích), một ứng dụng không bao giờ nên dựa vào chúng xảy ra theo một thứ tự cụ thể, hoặc hoàn toàn, hoặc theo trạng thái luôn luôn là một trong những giá trị được ghi nhận này. Một ứng dụng có thể làm điều gì đó như thế này:

Switch (pqstatus (Conn))

        Case Connection_started:
            Phản hồi = "kèo chấp bóng đá hôm nay ...";
            phá vỡ;

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

TheConnect_TimeoutTham số kèo chấp bóng đá hôm nay bị bỏ qua khi sử dụngPQConnectPoll; Trách nhiệm của ứng dụng là quyết định xem một lượng thời gian quá mức đã 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 con trỏ không null, 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ỳ khối bộ nhớ liên quan nào. Điều này phải được thực hiện ngay cả khi cố gắng kèo chấp bóng đá hôm nay thất bại hoặc bị bỏ rơi.

PQConnDefaults

27000_27041

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 chấp bóng đá hôm nay. 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 chấp bóng đá hôm nay. Điều này có thể được sử dụng để xác định tất cả có thểPQConnectDBTùy chọn và kèo chấp bóng đá hôm nay giá trị mặc định hiện tại của chúng. Giá trị trả về chỉ vào một mảngPQConninFooptionCấu trúc, kèo chấp bóng đá hôm nay thúc bằng một mục có nullTừ khóaCon trỏ. Con trỏ null được trả về nếu bộ nhớ không thể được phân bổ. Lưu ý rằng kèo chấp bóng đá hôm nay 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à bối cảnh khác. Một tệp dịch vụ bị thiếu hoặc không hợp lệ sẽ bị bỏ qua âm thầm. Người gọi phải coi dữ liệu tùy chọn kèo chấp bóng đá hôm nay là chỉ đọc.

Sau khi xử lý mảng tùy chọn, hãy giải phóng nó bằng cách chuyển nó sangPQConnInfofree. Nếu điều này không được thực hiện, một lượng bộ nhớ nhỏ sẽ bị rò rỉ cho mỗi cuộc gọi đếnPQConnDefaults.

PQConnInfo

Trả về các tùy chọn kèo chấp bóng đá hôm nay được sử dụng bởi kèo chấp bóng đá hôm nay trực tiếp.

28951_28996

29004_29085PQConnectDBTùy chọn và các giá trị được sử dụng để kèo chấp bóng đá hôm nay với máy chủ. Giá trị trả về chỉ vào một mảngPQConninFooptioncấu trúc, kèo chấp bóng đá hôm nay thúc bằng một mục có nullTừ khóaCon trỏ. Tất cả kèo chấp bóng đá hôm nay ghi chú ở trên choPQConnDefaultsCũng áp dụng cho kèo chấp bóng đá hôm nay quả củaPQConnInfo.

PQConnInfopars

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

29738_29811

phân tích chuỗi kèo chấp bóng đá hôm nay và trả về các tùy chọn kết quả dưới dạng mảng; hoặc trả lạinullNếu có vấn đề với chuỗi kèo chấp bóng đá hôm nay. Chức năng này có thể được sử dụng để trích xuấtPQConnectDBTùy chọn trong chuỗi kèo chấp bóng đá hôm nay được cung cấp. Giá trị trả về chỉ vào một mảngPQConninFooptionCấu trúc, kèo chấp bóng đá hôm nay 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 chấp bóng đá hôm nay quả, nhưngPQConninFooptionĐối với bất kỳ tùy chọn nào không có trong chuỗi kèo chấp bóng đá hôm nay 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ànhnullKhi thành công, khác vớimallocD 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 chỉ ra một điều kiện ngoài bộ nhớ.)

Sau khi xử lý mảng tùy chọn, hãy giải phóng nó bằng cách chuyển nó sangPQConnInfofree. Nếu điều này không được thực hiện, một số bộ nhớ sẽ bị rò rỉ cho mỗi cuộc gọi đếnPQConninFopars. Ngược lại, nếu xảy ra lỗi vàerrmsgkhông phảinull, Hãy chắc chắn giải phóng chuỗi lỗi bằng cách sử dụngPQFreemem.

pqfinish

Đóng kèo chấp bóng đá hôm nay với máy chủ. Cũng giải phóng bộ nhớ được sử dụng bởiPGConnĐối tượng.

31675_31705

Lưu ý rằng ngay cả khi cố gắng kèo chấp bóng đá hôm nay máy chủ không thành công (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 saupqfinishđã được gọi.

pqreset

Đặt lại kênh truyền thông cho máy chủ.

void pqreset (pgconn *Conn);

Hàm này sẽ đóng kèo chấp bóng đá hôm nay với máy chủ và cố gắng thiết lập lại một kèo chấp bóng đá hôm nay 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. Điều này có thể hữu ích cho việc khôi phục lỗi nếu mất kèo chấp bóng đá hôm nay làm việc.

pqresetstart
pqresetpoll

Đặt lại kênh truyền thông cho máy chủ, theo 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 chấp bóng đá hôm nay với máy chủ và cố gắng thiết lập lại một kèo chấp bóng đá hôm nay 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. Điều này có thể hữu ích cho việc phục hồi lỗi nếu mất kèo chấp bóng đá hôm nay làm việc. Chúng khác vớipqreset(ở trên) trong đó chúng hành động theo cách không chặn. kèo chấp bóng đá hôm nay chức năng này bị hạn chế giống nhưPQConnectStartParams, PQConnectStartPQConnectPoll.

Để bắt đầu đặt lại kèo chấp bóng đá hôm nay, 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ụngpqresetpollTheo cách tương tự như bạn sẽ tạo kèo chấp bóng đá hôm nay 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 chấp bóng đá hôm nay giống hệt với các tham số củaPQConnectDBParams34092_34316

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

Hàm trả về một trong kèo chấp bóng đá hôm nay giá trị sau:

PQPing_OK

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

PQPing_Rject

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

PQPing_NO_Response

35190_35489

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ì kèo chấp bóng đá hôm nay 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 máy khách (ví dụ: ngoài 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 chấp bóng đá hôm nay giống hệt với các tham số củaPQConnectDB, được mô tả ở trên. Không cần thiết phải cung cấp các giá trị tên người dùng, mật khẩu hoặc cơ sở dữ liệu chính xác để có được trạng thái máy chủ; Tuy nhiên, nếu các giá trị không chính xác được cung cấp, máy chủ sẽ ghi lại một kèo chấp bóng đá hôm nay không thành công.

pgping pqping (const char *conninfo);

Giá trị trả về giống như đối vớiPQPingParams.

32.1.1. Chuỗi kèo chấp bóng đá hôm nay

vàilibpqHàm phân chia chuỗi do người dùng chỉ định để có được các tham số kèo chấp bóng đá hôm nay. 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.

32.1.1.1. Chuỗi kèo chấp bóng đá hôm nay từ khóa/giá trị

Ở định dạng đầu tiên, mỗi cài đặt tham số ở dạngtừ khóa = value37177_37317từ khóa = 'giá trị'37359_37450\ '\.

Ví dụ:

37557_37614

kèo chấp bóng đá hôm nay từ khóa tham số được công nhận được liệt kê trongPhần 32.1.2.

32.1.1.2. kèo chấp bóng đá hôm nay uris

Biểu mẫu chung cho kèo chấp bóng đá hôm nayuriIS:

37963_38042

TheuriNgười chỉ định sơ đồ có thể làPostgresql: //hoặcPostgres: //. Mỗi phần còn lạiurikèo chấp bóng đá hôm nay bộ phận là tùy chọn. kèo chấp bóng đá hôm nay ví dụ sau minh họa hợp lệURICú pháp:

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

kèo chấp bóng đá hôm nay giá trị thường xuất hiện trong phần phân cấp củaURIThay vào đó có thể được đưa ra dưới dạng tham số được đặt tên. Ví dụ:

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

Tất cả kèo chấp bóng đá hôm nay tham số được đặt tên phải khớp với kèo chấp bóng đá hôm nay từ khóa được liệt kê trongPhần 32.1.2, ngoại trừ khả năng tương thích với kèo chấp bóng đá hôm nay JDBCURIs, kèo chấp bóng đá hôm nay trường hợp củassl = trueđược dịch thànhSSLMode = Yêu cầu.

Mã hóa phần trăm có thể được sử dụng để bao gồm kèo chấp bóng đá hôm nay ký hiệu có ý nghĩa đặc biệt trong bất kỳ nàouribộ phận.

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

POSTGRESQL: // [2001: DB8 :: 1234]/cơ sở dữ liệu

Phần máy chủ được giải thích như được mô tả cho tham sốhost39679_40140

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

32.1.2. Từ khóa tham số

kèo chấp bóng đá hôm nay từ khóa tham số hiện được công nhận là:

máy chủ

Tên của máy chủ để kèo chấp bóng đá hôm nay với. Nếu điều này bắt đầu bằng một dấu gạch chéo, nó chỉ định giao tiếp miền đơn hơn là giao tiếp TCP/IP; Giá trị là tên của thư mục trong đó tệp ổ cắm được lưu trữ. Hành vi mặc định khihostkhông được chỉ định là kèo chấp bóng đá hôm nay với ổ cắm miền Unix trong/TMP(hoặc bất kỳ thư mục ổ cắm nào được chỉ định khiPostgreSQL41047_41132Localhost.

hostaddr

41292_41394172.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 chấp bóng đá hôm nay địa chỉ đó. Giao tiếp TCP/IP luôn được sử dụng khi chuỗi không được chỉ định cho tham số này.

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

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

  • nếuhostaddrđược chỉ định mà không cómáy chủ, giá trị chohostaddrCung cấp địa chỉ mạng máy chủ. Nỗ lực kèo chấp bóng đá hôm nay 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ị chohostaddrCung cấp địa chỉ mạng máy chủ. Giá trị chohostbị bỏ qua trừ khi phương thức xác thực yêu cầu, 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ả năng 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ằnghostchứ không phảihostaddrđược sử dụng để xác định kèo chấp bóng đá hôm nay trong~/.pgass(xemPhần 32.15).

Không có tên máy chủ hoặc địa chỉ máy chủ,libpqsẽ kèo chấp bóng đá hôm nay bằng cách sử dụng ổ cắm tên miền đơn vị cục bộ; hoặc trên các máy không có ổ cắm tên miền Unix, nó sẽ cố gắng kèo chấp bóng đá hôm nay vớilocalhost.

Cổng

Số cổng để kèo chấp bóng đá hôm nay với máy chủ máy chủ hoặc tiện ích mở rộng tên tệp cho các kèo chấp bóng đá hôm nay miền đơn vị.

dbname

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

user

PostgreSQLTên người dùng để kèo chấp bóng đá hôm nay 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

Mật khẩu sẽ được sử dụng nếu máy chủ yêu cầu xác thực mật khẩu.

Connect_Timeout

Chờ tối đa để kèo chấp bóng đá hôm nay, tính bằng giây (viết dưới dạng chuỗi số nguyên thập phân). Zero 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.

client_encoding

Điều này đặtclient_encoding44932_45063AutoĐể xác định đúng mã hóa từ vị trí hiện tại trong máy khách (LC_CTYPEBiến môi trường trên kèo chấp bóng đá hôm nay hệ thống UNIX).

Tùy chọn

Chỉ định các tùy chọn dòng lệnh để gửi đến máy chủ khi bắt đầu kèo chấp bóng đá hôm nay. Ví dụ: đặt cái này thành-c geqo = offĐặt giá trị phiên củageqotham số đếnTẮT. Không gian trong chuỗi này được coi là kèo chấp bóng đá hôm nay đối số dòng lệnh riêng biệt, trừ khi thoát ra bằng dấu gạch chéo ngược (\); viết\Để thể hiện dấu gạch chéo ngược theo nghĩa đen. Để thảo luận chi tiết về kèo chấp bóng đá hôm nay tùy chọn có sẵn, hãy tham khảo ý kiếnChương 19.

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 tham số kèo chấp bóng đá hôm nay hoặcPGAPPNAMEBiến môi trường. Chỉ định tên dự phòng rất hữu ích trong kèo chấp bóng đá hôm nay chương trình tiện ích chung muốn đặt tên ứng dụng mặc định nhưng cho phép nó bị người dùng ghi đè.

Keepalive

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à trên, 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 chấp bóng đá hôm nay được thực hiện thông qua ổ cắm miền unix.

Keepalive_idle

47333_47626TCP_Keepidlehoặc tùy chọn ổ cắm tương đương có sẵn và trên Windows; Trên kèo chấp bóng đá hôm nay hệ thống khác, nó không có tác dụng.

Keepalive_interval

Kiểm soát số giây sau đó một thông điệp giữ TCP 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 mặc định hệ thống. Tham số này bị bỏ qua cho các kèo chấp bóng đá hôm nay đượ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_KeepIntVL48252_48351

Keepalive_Count

Kiểm soát số lượng Keepalives TCP có thể bị mất trước khi kèo chấp bóng đá hôm nay của khách hàng với máy chủ đượ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 chấp bóng đá hôm nay đượ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_Keepcnthoặc tùy chọn ổ cắm tương đương có sẵn; Trên kèo chấp bóng đá hôm nay hệ thống khác, nó không có tác dụng.

tty

Bỏ qua (trước đâ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 có ưu tiên nào an toànSSLkèo chấp bóng đá hôm nay TCP/IP sẽ được đàm phán với máy chủ. Có sáu chế độ:

vô hiệu hóa

Chỉ thử khôngSSLkèo chấp bóng đá hôm nay

cho phép

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

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

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

Yêu cầu

chỉ thử50037_50042kèo chấp bóng đá hôm nay. Nếu có tệp Ca gốc, hãy xác minh chứng chỉ theo cách tương tự nhưXác minh-CAđã được chỉ định

Xác minh-CA

Chỉ thửSSLkèo chấp bóng đá hôm nay 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)

xác minh-đầy đủ

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

xemPhần 32.18Để biết mô tả chi tiết về cách kèo chấp bóng đá hôm nay tùy chọn này hoạt động.

SSLModebị bỏ qua cho giao tiếp ổ cắm miền UNIX. Nếu nhưPostgreSQLđược biên dịch mà không cần 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 kèo chấp bóng đá hôm nay tùy chọncho phépưa thíchsẽ được chấp nhận nhưnglibpqSẽ không thực sự thửSSLkèo chấp bóng đá hôm nay.

Yêu cầu

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 chấp bóng đá hôm nay 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 kèo chấp bóng đá hôm nay nếu máy chủ không chấp nhậnSSLkèo chấp bóng đá hôm nay. Nếu đặt thành 0 (mặc định),libpqsẽ thương lượng loại kèo chấp bóng đá hôm nay với máy chủ (tương đương vớiSSLMode ưa thích). Tùy chọn này chỉ khả dụng nếuPostgreSQLđược biên dịch 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 chấp bóng đá hôm nay SSL sẽ được nén (điều này yêu cầuOpenSSLPhiên bản 0.9.8 trở lên). Nếu đượ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 chấp bóng đá hôm nay không có SSL hoặc nếu phiên bảnOpenSSLĐượ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 hiệu suất CPU là yếu tố giới hạn.

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. Tham số này bị bỏ qua nếu kèo chấp bóng đá hôm nay SSL không được thực hiện.

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ể 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 đặc điểm kỹ thuật của độ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ã định danh khóa dành riêng cho động cơ. Tham số này bị bỏ qua nếu kèo chấp bóng đá hôm nay 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 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 Danh sách thu hồi chứng chỉ SSL (CRL). kèo chấp bóng đá hôm nay chứng chỉ đượ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ủ. Mặc định là~/.Postgresql/root.crl.

Yêu cầu

Tham số này chỉ định tên người dùng hệ điều hành của máy chủ, ví dụab tarpeer = postgres. Khi tạo kèo chấp bóng đá hôm nay ổ cắm miền Unix, nếu tham số này được đặt, máy khách sẽ kiểm tra ở đầu kèo chấp bóng đá hôm nay mà quy trình máy chủ đang chạy dưới tên người dùng được chỉ định; Nếu không, kèo chấp bóng đá hôm nay 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ư có sẵn với chứng chỉ SSL trên các kèo chấp bóng đá hôm nay TCP/IP. (Lưu ý rằng nếu ổ cắm tên miền Unix ở/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 nghe máy chủ ở đó. Sử dụng tham số này để đảm bảo rằng bạn được kèo chấp bóng đá hôm nay với máy chủ do người dùng đáng tin cậy chạ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 20.3.6.

krbsrvname

Tên dịch vụ Kerberos sẽ sử dụng khi xác thực với GSSAPI. Điều này phải khớp với tên dịch vụ được chỉ định trong cấu hình máy chủ để xác thực Kerberos để thành công. (Xem thêmPhần 20.3.3.)

GSSLIB

Thư viện GSS để sử dụng để xác thực GSSAPI. Hiện tại điều này bị coi thường ngoại trừ trên kèo chấp bóng đá hôm nay bản dựng Windows bao gồm cả hỗ trợ GSSAPI và SSPI. Trong trường hợp đó, đặt cái này thànhGSSAPIĐể khiến 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 kèo chấp bóng đá hôm nay tham số bổ sung. Nó chỉ định tên dịch vụ trongpg_service.confgiữ các tham số kèo chấp bóng đá hôm nay bổ sung. Điều này cho phép các ứng dụng chỉ chỉ định một tên dịch vụ để các tham số kèo chấp bóng đá hôm nay có thể được duy trì tập trung. Nhìn thấyPhần 32.16.