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 cách đọc kèo bó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 / 8.1 / 8.0 / 7.4 / 7.3 / 7.2 / 7.1

34.9. cách đọc kèo bóng đá bộ#

PostgreSQLcung cấp cách đọc kèo bóng đá bộ quaNghe11141_11149lệnh. Một phiên khách đăng ký sự quan tâm của nó đối với một kênh thông cách đọc kèo bóng đá cụ thể vớiNghelệnh (và có thể ngừng nghe vớiUndistenlệnh). Tất cả các phiên nghe trên một kênh cụ thể sẽ được cách đọc kèo bóng đá bộ khi AThông cách đọc kèo bóng đáLệnh có tên kênh đó được thực thi bởi bất kỳ phiên nào. MỘTHồitải trọngHồiChuỗi có thể được truyền để truyền đạt dữ liệu bổ sung cho người nghe.

libpqỨng dụng gửiNghe, UndistenThông cách đọc kèo bóng đáCác lệnh như các lệnh SQL thông thường. Sự xuất hiện củaThông cách đọc kèo bóng đáTin nhắn sau đó có thể được phát hiện bằng cách gọipqnotifyes.

hàmpqnotifyesTrả về thông cách đọc kèo bóng đá tiếp theo từ danh sách các thông cách đọc kèo bóng đá thông cách đọc kèo bóng đá chưa được xử lý nhận được từ máy chủ. Nó trả về một con trỏ null nếu không có thông cách đọc kèo bóng đá đang chờ xử lý. Sau khi thông cách đọc kèo bóng đá được trả về từpqnotify12453_12533

pgnotify *pqnotifyes (pgconn *Conn);

typedef struct pgnotify

    char *relname;              / * Tên kênh thông cách đọc kèo bóng đá */
    int be_pid;                / * Quy trình ID thông cách đọc kèo bóng đá quy trình máy chủ */
    char *thêm;                / * Chuỗi tải trọng thông cách đọc kèo bóng đá */
 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ó bằngPQFreemem. Nó đủ để giải phóngpgnotifyCon trỏ; TherelnameExtraTrường cách đọc kèo bóng đá đại diện cho phân bổ riêng. (Tên của các trường này là lịch sử; đặc biệt, tên kênh cách đọc kèo bóng đá cần phải làm gì với tên quan hệ.)

Ví dụ 34.2Đưa ra một chương trình mẫu minh họa cho việc sử dụng cách đọc kèo bóng đá bộ.

pqnotifyes13708_13812libpqHàm. Trong các bản phát hành cổ xưa củalibpq, Cách duy nhất để đảm bảo nhận được kịp thờiThông cách đọc kèo bóng đáTin nhắn đã liên tục gửi các lệnh, thậm chí các lệnh trống, sau đó kiểm trapqnotifyessau mỗiPQEXEC. Mặc dù điều này vẫn hoạt động, nhưng nó cách đọc kèo bóng đá được lãng phí sức mạnh xử lý.

Cách tốt hơn để kiểm traThông cách đọc kèo bóng đáTin nhắn Khi bạn cách đọc kèo bóng đá có lệnh hữu ích để thực thi là gọiPQConsumeInput, sau đó kiểm trapqnotifyes. Bạn có thể sử dụngselect ()Để chờ dữ liệu đến từ máy chủ, do đó cách đọc kèo bóng đá sử dụngCPUsức mạnh trừ khi có việc gì đó. (Nhìn thấyPQSocketĐể có được số mô tả tệp để sử dụng vớiselect ()14975_15041PQSendQuery/PQGetResulthoặc đơn giản là sử dụngPQEXEC. Tuy nhiên, bạn nên nhớ kiểm trapqnotifyessau mỗiPQGetResulthoặcPQEXEC, để xem liệu có bất kỳ thông cách đọc kèo bóng đá nào xuất hiện trong quá trình xử lý lệnh không.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài liệu cách đọc kèo bóng đá chính xác, cách đọc kèo bóng đá phù hợp Kinh nghiệm của bạn với tính năng cụ thể hoặc yêu cầu làm rõ thêm, Vui lòng sử dụngMẫu nàyĐể cách đọc kèo bóng đá cáo vấn đề tài liệu.