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 kèo bóng đá cúp c2 đượ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 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1
Tài liệu này dành cho phiên bản kèo bóng đá cúp c2 đượ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.6. kèo bóng đá cúp c2 bộ

PostgreSQLHỗ trợ kèo bóng đá cúp c2 bộ quaNghekèo bóng đá cúp c2lệnh. Một thanh ghi phụ trợ sự quan tâm của nó đối với một điều kiện kèo bóng đá cúp c2 cụ thể vớinghelệnh (và có thể ngừng nghe vớiUnlistenlệnh). Tất cả phụ trợ Lắng nghe trên một điều kiện cụ thể sẽ được kèo bóng đá cúp c2 không đồng bộ khi akèo bóng đá cúp c2của đó Tên điều kiện được thực hiện bởi bất kỳ phụ trợ. Không có thêm Thông tin được truyền từ kèo bóng đá cúp c2 cho người nghe. Như vậy, Thông thường, bất kỳ dữ liệu thực tế nào cần được truyền đạt là được chuyển qua một mối quan hệ cơ sở dữ liệu. Thường là điều kiện Tên giống như mối quan hệ liên quan, nhưng nó không cần thiết để có bất kỳ mối quan hệ liên quan nào.

libpqỨng dụng gửingheUnitSenlệnh như lệnh SQL kèo bóng đá cúp c2 thường. Sau đó, sự xuất hiện củakèo bóng đá cúp c2Tin nhắn có thể được phát hiện bằng cách gọipqnotifyes.

  • pqnotifyesTrả về tiếp theo kèo bóng đá cúp c2 từ danh sách các tin nhắn kèo bóng đá cúp c2 chưa được xử lý nhận được từ phần phụ trợ. Trả lại null nếu không có kèo bóng đá cúp c2 đang chờ xử lý. Khi một kèo bóng đá cúp c2 được trả về từ Pqnotifyes, nó được coi là xử lý và sẽ bị xóa khỏi Danh sách các kèo bóng đá cúp c2.

    pgnotify * pqnotifyes (pgconn * Conn);
    
    typedef struct pgnotify 
        char relname [Được đặt tên là];       /* Tên quan hệ
                                          * Chứa dữ liệu */
        int be_pid;                     / * xử lý ID phụ trợ */
     Pgnotify;

    Sau khi xử lý ApgnotifyĐối tượng được trả về bởipqnotifyes,, Hãy chắc chắn giải phóng nó vớifree ()Để tránh rò rỉ bộ nhớ.

    Lưu ý:inPostgreSQL6.4 trở lên,be_pidLà kèo bóng đá cúp c2 phụ trợ, trong khi trong các phiên bản trước đó, nó luôn luôn làPIDcủa riêng bạn phụ trợ.

Chương trình mẫu thứ hai đưa ra một ví dụ về việc sử dụng kèo bóng đá cúp c2 bộ.

pqnotifys ()kèo bóng đá cúp c2 thực sự Đọc dữ liệu phụ trợ; nó chỉ trả về tin nhắn được hấp thụ trước đó bởi người kháclibpqHàm. TRONG Các bản phát hành trước củalibpq, The cách duy nhất để đảm bảo nhận được kèo bóng đá cúp c2 kèo bóng đá cúp c2 kịp thời liên tục gửi các truy vấn, thậm chí là trống, sau đó kiểm trapqnotifys ()sau mỗipqexec (). Trong khi điều này vẫn hoạt động, Nó kèo bóng đá cúp c2 được lãng phí sức mạnh xử lý.

Cách tốt hơn để kiểm tra kèo bóng đá cúp c2 tin nhắn khi bạn không có Các truy vấn hữu ích để thực hiện là gọiPQConsumeInput (), sau đó kiểm trapqnotifys (). Bạn có thể sử dụngselect ()Để chờ dữ liệu phụ trợ đến, do đó kèo bóng đá cúp c2 sử dụngCPUsức mạnh Trừ khi có một cái gì đó để làm. (Nhìn thấypqsocket ()Để có được số mô tả tệp sử dụng vớiselect ().) Lưu ý rằng Điều này sẽ hoạt động ok cho dù bạn gửi truy vấn vớiPQSendQuery/PQGetResulthoặc đơn giản là sử dụngPQEXEC. Tuy nhiên, bạn nên nhớ kiểm trapqnotifies ()sau mỗiPQGetResulthoặcPQEXEC, để xem có bất kỳ kèo bóng đá cúp c2 nào được đưa vào Trong quá trình xử lý truy vấn.