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

1.2. Chức năng kết kèo bóng đá hôm nay và ngày mai cơ sở dữ liệu

Các thói quen sau giải quyết việc tạo kết kèo bóng đá hôm nay và ngày mai với APostgreSQLMáy chủ phụ trợ. Các Chương trình ứng dụng có thể mở một số kết 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ết 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ừPQConnectDBhoặcPQSetDbLogin. Lưu ý rằng các chức năng này sẽ Luôn trả về một con trỏ đối tượng không null, trừ khi có lẽ có quá ít bộ nhớ thậm chí để phân bổPGConnĐối tượng. Thepqstatus10848_10983

  • PQConnectDBlàm cho một mới Kết kèo bóng đá hôm nay và ngày mai với máy chủ cơ sở dữ liệu.

    PGConn *PQConnectDB (const char *Conninfo)

    11207_11303Conninfo. Không giống nhưPQSetDbLoginbên dưới, bộ tham số có thể được mở rộng mà không thay đổi chữ ký chức năng, vì vậy hãy sử dụng một trong những thói quen này hoặc các chất tương tự không chặnPQConnectStartPQConnectPoll11658_11856

    Mỗi cài đặt tham số ở dạngTừ khóa = value. (Để viết một giá trị trống hoặc một Giá trị chứa không gian, bao quanh nó với các trích dẫn đơn, ví dụ.,Từ khóa = 'A Value'. Đơn Báo giá và dấu gạch chéo ngược trong giá trị phải được thoát ra với một dấu gạch chéo ngược, ví dụ:\ 'hoặc\.) không bắt buộc. Các từ khóa tham số hiện được công nhận là:

    host

    12509_12829/TMP.

    hostaddr

    Địa chỉ IP của máy chủ để kết kèo bóng đá hôm nay và ngày mai với. Cái này nên ở Biểu mẫu số và điểm tiêu chuẩn, được sử dụng bởi BSD Chức nănginet_atonet al. Nếu một chuỗi độ dài khác được chỉ định, TCP/IP giao tiếp được sử dụng.

    Sử dụnghostaddrThay vì máy chủ cho phép ứng dụng tránh tên máy chủ tra cứu, điều này có thể quan trọng trong các ứng dụng với hạn chế thời gian. Tuy nhiên, xác thực Kerberos yêu cầu tên máy chủ. Sau đây áp dụng. Nếu máy chủ được chỉ định mà không cóhostaddr, Tra cứu tên máy chủ bị ép buộc. Nếu nhưhostaddrđược chỉ định không có máy chủ, giá trị chohostaddrđưa ra địa chỉ từ xa; nếu như Kerberos được sử dụng, điều này gây ra truy vấn tên ngược. Nếu như Cả máy chủ vàhostaddrlà được chỉ định, giá trị chohostaddrđưa ra địa chỉ từ xa; các giá trị cho máy chủ bị bỏ qua, trừ khi kerberos được sử dụng, trong Trường hợp nào giá trị đó được sử dụng cho kerberos xác thực. Lưu ý rằng xác thực có khả năng thất bại nếulibpqIS đã truyền một tên máy chủ không phải là tên của máy Tạihostaddr.

    Không có tên máy chủ hoặc địa chỉ máy chủ,libpqSẽ kết kèo bóng đá hôm nay và ngày mai sử dụng ổ cắm miền unix cục bộ.

    Cổng

    Số cổng để kết kèo bóng đá hôm nay và ngày mai tạ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ết 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.

    user

    Tên người dùng để kết kèo bóng đá hôm nay và ngày mai AS.

    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

    Không gian thời gian tính bằng giây được đưa ra để kết kèo bóng đá hôm nay và ngày mai thói quen. Không hoặc không đặt có nghĩa là vô hạn.

    Tùy chọn

    Các tùy chọn theo dõi/gỡ lỗi sẽ được gửi đến máy chủ.

    tty

    một tệp hoặcttycho đầu ra gỡ lỗi tùy chọn từ phần phụ trợ.

    abitessl

    Đặt thành 1 để yêu cầuSSLKết kèo bóng đá hôm nay và ngày mai với máy chủ.libpqSau đó sẽ từ chối Để kết kèo bóng đá hôm nay và ngày mai nếu máy chủ không chấp nhậnSSLKết kèo bóng đá hôm nay và ngày mai. Bộ đến 0 (mặc định) để thương lượng với máy chủ. Tùy chọn này là Chỉ khả dụng nếuPostgreSQLđược biên dịch với SSL ủng hộ.

    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 1.10) được kiểm tra. Nếu biến môi trường không được đặt Hoặc, sau đó mặc định cứng được sử dụng. Giá trị trả về là một con trỏ tới một bản tóm tắtstruct16844_16896

  • PQSetDbLoginlàm cho một mới Kết kèo bóng đá hôm nay và ngày mai 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 số lượng cố định tham số nhưng cùng một chức năng.

  • PQSetDBlàm cho một cái mới Kết kèo bóng đá hôm nay và ngày mai 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 chủ yếu Để tương thích ngược với các chương trình cũ.

  • PQConnectStart, PQConnectPoll Tạo kết 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 *PQConnectStart (const char *Conninfo)
    18471_18528

    Hai thói quen này được sử dụng để mở kết 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.

    Kết 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ừ chuỗiConninfo, được chuyển choPQConnectStart18910_18977PQConnectDB.

    khôngPQConnectStartcũng khôngPQConnectPollSẽ chặn, như miễn là một số hạn chế được đáp ứng:

    • Thehostaddrmáy chủtham số được sử dụng phù hợp để Đảm bảo rằng các truy vấn tên và tên ngược không được thực hiện. Xem tài kèo bóng đá hôm nay và ngày mai của các tham số này theoPQConnectDBở trên cho 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 cho mình rằng ổ cắm nằm trong Trạng thái thích hợp trước khi gọiPQConnectPoll, như được mô tả dưới đây.

    20013_20030Conn = PQConnectStart ("20110_20134"). Nếu như20177_20183là null, sau đólibpqđã không thể phân bổ mớiPGConnCấu trúc. Nếu không, a có hiệu lựcPGConnCon trỏ được trả về (mặc dù chưa đại diện cho một kết kèo bóng đá hôm nay và ngày mai hợp lệ với cơ sở dữ liệu). Khi trở về từPQConnectStart, gọistatus = pqstatus (Conn). Nếu trạng thái bằ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ết kèo bóng đá hôm nay và ngày mai. Vòng lặp như vậy: Xem xét một kết kèo bóng đá hôm nay và ngày mai"không hoạt động"Theo mặc định. Nếu nhưPQConnectPollĐã trả về lần cuốipgres_polling_active21163_21185"Active"Thay kèo bóng đá hôm nay và ngày maio đó. Nếu nhưPQConnectPoll (Conn)Đã trả lại lần cuốipgres_polling_reading, thực hiện Aselect ()để đọc trênPQSocket (Conn). Nếu nó kéo dài đã trả vềPGRES_POLLING_WRITY,, thực hiện aselect ()để viết TRÊNPQSocket (Conn). Nếu bạn có chưa gọiPQConnectPoll, tức là. Sau cuộc gọi đếnPQConnectStart, hành xử như thể nó kéo dài đã trả vềPGRES_POLLING_WRITY. Nếu như Theselect ()cho thấy Ổ cắm đã sẵn sàng, hãy xem xét nó"Active". Nếu nó đã được quyết định rằng điều này Kết kèo bóng đá hôm nay và ngày mai là"Active", gọiPQConnectPoll (Conn)Một lần nữa. Nếu như Cuộc gọi này trả vềPGRES_POLLING_FAILED, Quy trình kết kèo bóng đá hôm nay và ngày mai đã thất bại. Nếu cuộc gọi này trả vềpgres_polling_ok, kết kèo bóng đá hôm nay và ngày mai đã được được thực hiện thành công.

    Lưu ý rằng việc sử dụngselect ()Để đảm bảo rằng ổ cắm đã sẵn sàng chỉ là một ví dụ (có thể); những người có cơ sở khác Có sẵn, chẳng hạn nhưpoll ()Gọi, tất nhiên có thể sử dụng điều đó thay thế.

    Bất cứ lúc nào trong quá trình kết kèo bóng đá hôm nay và ngày mai, trạng thái của Kết 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 đây làConnection_Bad, sau đó quy trình kết kèo bóng đá hôm nay và ngày mai đã thất bại; Nếu đây làConnection_ok, thì kết kèo bóng đá hôm nay và ngày mai là sẵn sàng. Một trong những trạng thái này có thể được phát hiện như nhau Từ giá trị trả về củaPQConnectPoll, như trên. Các tiểu bang khác có thể được hiển thị trong (và chỉ trong khi) kết kèo bóng đá hôm nay và ngày mai không đồng bộ thủ tục. Những điều này chỉ ra giai đoạn hiện tại của kết kèo bóng đá hôm nay và ngày mai Quy trình và có thể hữu ích để cung cấp phản hồi cho người dùng Ví dụ. Các trạng thái này có thể bao gồm:

    Connection_started

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

    Connection_Made

    Kết 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ờ kết kèo bóng đá hôm nay và ngày mai Khởi động để tiếp tục.

    Connection_SetEnv

    Môi trường đàm phán (một phần của kết kèo bóng đá hôm nay và ngày mai khởi động).

    Lưu ý rằng, mặc dù các hằng số này sẽ vẫn còn (theo thứ tự Để duy trì khả năng tương thích), một ứng dụng không bao giờ nên dựa kèo bóng đá hôm nay và ngày maio khi những thứ này xuất hiện theo một thứ tự cụ thể, hoặc Trạng thái luôn luôn là một trong những giá trị được ghi lại 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ết kèo bóng đá hôm nay và ngày mai ...";
            phá vỡ;
    
        Case Connection_Made:
            Phản hồi = "Kết 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ết kèo bóng đá hôm nay và ngày mai ...";

    Lưu ý rằng nếuPQConnectStartTrả về một con trỏ không null, bạn phải gọipqfinishKhi bạn kèo bóng đá hôm nay và ngày mai thúc với nó, trong để loại bỏ cấu trúc và bất kỳ bộ nhớ liên quan nào khối. Điều này phải được thực hiện ngay cả khi cuộc gọi đếnPQConnectStarthoặcPQConnectPollKhông thành công.

    PQConnectPollhiện tại sẽ chặn nếulibpqđược biên soạn vớiuse_sslđược xác định. Cái này Hạn chế có thể bị xóa trong tương lai.

    Các chức năng này để lại ổ cắm ở trạng thái không chặn như nếu nhưpqsetNonblocking25846_25871

  • PQConnDefaultsTrả về Tùy chọn kết kèo bóng đá hôm nay và ngày mai mặc định.

    PQConnInfooption *PQConnDefaults (void)
    
    struct pqconninfooption
    
        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;  /* Ký tự để hiển thị cho trường này
                              Trong một hộp thoại kết 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 */

    Trả về một mảng tùy chọn kết 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à hiện tại của chúng giá trị mặc định. Giá trị trả về chỉ kèo bóng đá hôm nay và ngày maio một mảngPQConninFooption structs, kèo bóng đá hôm nay và ngày mai thúc bằng một mục có một null con trỏ từ khóa. Lưu ý rằng các giá trị mặc định (ValTrường) sẽ phụ thuộc vào môi trường Biến và bối cảnh khác. Người gọi phải đối xử với Dữ liệu tùy chọn kết 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 chuyển nó ĐẾNPQConnInfofree. Nếu đây là Không xong, một lượng nhỏ bộ nhớ bị rò rỉ cho mỗi cuộc gọi đếnPQConnDefaults.

    inPostgreSQLPhiên bản Trước 7.0,PQConnDefaults27778_27939

  • pqfinishĐóng Kết kèo bóng đá hôm nay và ngày mai với phụ trợ. 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 cố gắng kết kèo bóng đá hôm nay và ngày mai phụ trợ không thành công (như được chỉ ra bởipqstatus), The Ứng dụng nên gọipqfinishĐể giải phóng bộ nhớ được sử dụng bởiPGConnĐối tượng. ThePGConnKhông nên sử dụng con trỏ saupqfinishđã được gọi.

  • pqresetĐặt lại Cổng giao tiếp với phần phụ trợ.

    void pqreset (pgconn *Conn)

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

  • pqresetstart pqresetpollĐặt lại cổng giao tiếp với phần phụ trợ, theo cách không chặn.

    int pqresetstart (pgconn *Conn);
    29395_29451

    29466_29748pqreset(ở trên) trong đó chúng hành động theo cách không chặn. Những cái này các chức năng bị các hạn chế giống nhưPQConnectStartPQConnectPoll.

    GọiPQResetStart. Nếu nó Trả về 0, thiết lập lại đã thất bại. Nếu nó trở lại 1, hãy thăm dò ý kiến Đặt lại bằngpqresetpollin Chính xác giống như cách bạn tạo kết kèo bóng đá hôm nay và ngày mai bằng cách sử dụngPQConnectPoll.

libpqLập trình viên ứng dụng nên cẩn thận để duy trìPGConnTrừu tượng. Sử dụng người truy cập các chức năng bên dưới để có được nội dung củaPGConn. Tránh trực tiếp tham chiếu các trường củaPGConnCấu trúc vì chúng có thể thay đổi trong tương lai. (Bắt đầu trongPostgreSQLPhát hành 6.4, định nghĩa củastruct pgconnthậm chí không được cung cấp tronglibpq-fe.h. Nếu bạn có mã cũ Truy cậpPGConnTrường trực tiếp, bạn có thể tiếp tục sử dụng nó bằng cách bao gồmlibpq-int.hquá, nhưng bạn được khuyến khích sửa chữa mã sớm.)

  • PQDBTrả về cơ sở dữ liệu Tên của kết kèo bóng đá hôm nay và ngày mai.

    char *pqdb (const pgconn *Conn)

    PQDBvà một số tiếp theo Các chức năng trả về các giá trị được thiết lập tại kết kèo bóng đá hôm nay và ngày mai. Những cái này Các giá trị được cố định cho tuổi thọ củaPGConnĐối tượng.

  • PQUSERTrả về tên người dùng của kết kèo bóng đá hôm nay và ngày mai.

    char *pquser (const pgconn *Conn)
  • PQPassTrả về mật khẩu của kết kèo bóng đá hôm nay và ngày mai.

    31984_32020
  • PQHOSTTrả về máy chủ Tên máy chủ của kết kèo bóng đá hôm nay và ngày mai.

    char *pqhost (const pgconn *Conn)
  • PQPortTrả về cổng của kết kèo bóng đá hôm nay và ngày mai.

    char *pqport (const pgconn *Conn)
  • PQTTYTrả về gỡ lỗittycủa kết kèo bóng đá hôm nay và ngày mai.

    char *pqtty (const pgconn *Conn)
  • PQOptionsTrả về Các tùy chọn phụ trợ được sử dụng trong kết kèo bóng đá hôm nay và ngày mai.

    char *pqoptions (const pgconn *Conn)
  • pqstatusTrả về trạng thái của kết kèo bóng đá hôm nay và ngày mai.

    ConnstatusType pqStatus (const pgconn *Conn)

    Trạng thái có thể là một trong một số giá trị. Tuy nhiên, chỉ Hai trong số này được nhìn thấy bên ngoài kết kèo bóng đá hôm nay và ngày mai không đồng bộ thủ tục -Connection_okhoặcConnection_Bad. Một kết kèo bóng đá hôm nay và ngày mai tốt với Cơ sở dữ liệu có trạng tháiConnection_ok. Một nỗ lực kết kèo bóng đá hôm nay và ngày mai thất bại là được báo hiệu bởi trạng tháiConnection_Bad. Thông thường, trạng thái OK sẽ vẫn như vậy cho đến khipqfinish, nhưng thất bại truyền thông có thể dẫn đến trạng thái thay đổi thànhConnection_Badsớm. Trong trường hợp đó Ứng dụng có thể cố gắng khôi phục bằng cách gọipqreset.

    Xem mục choPQConnectStartPQConnectPollLiên quan đến trạng thái khác mã có thể được nhìn thấy.

  • pqerrormessage Trả về thông báo lỗi nhiều nhất gần đây được tạo bởi một thao tác trên kết kèo bóng đá hôm nay và ngày mai.

    char * pqerrormessage (const pgconn * Conn);

    Gần như tất cảlibpq34367_34395pqerrormessageNếu họ thất bại. Lưu ý rằng bằnglibpqHội nghị, a không trốngpqerrormessageWill Bao gồm một dòng mới.

  • PQBackendPidTrả về quá trìnhidcủa phần phụ trợ máy chủ xử lý kết kèo bóng đá hôm nay và ngày mai này.

    int pqbackendPid (const pgconn *Conn);

    Phần phụ trợPIDIS Hữu ích cho mục đích gỡ lỗi và để so sánh để thông báo tin nhắn (bao gồmPIDcủa phần phụ trợ thông báo). Lưu ý rằng ThePIDthuộc về a xử lý thực thi trên máy chủ máy chủ cơ sở dữ kèo bóng đá hôm nay và ngày mai, không phải cục bộ chủ nhà!

  • PQGetSSL Trả về cấu trúc SSL được sử dụng trong kết kèo bóng đá hôm nay và ngày mai hoặc null nếu SSL không được sử dụng.

    SSL *PQGetSSL (const pgconn *Conn);

    Cấu trúc này có thể được sử dụng để xác minh các mức mã hóa, Kiểm tra chứng chỉ máy chủ và nhiều hơn nữa. Tham khảo SSL Tài kèo bóng đá hôm nay và ngày mai cho thông tin về cấu trúc này.

    Bạn phải xác địnhuse_sslTheo thứ tự Để có được nguyên mẫu cho chức năng này. Làm điều này cũng sẽ tự động bao gồmssl.htừOpenSSL.