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 tỷ lệ 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

32.9. tỷ lệ kèo bóng đá bộ#

PostgreSQLcung cấp tỷ lệ kèo bóng đá bộ quaNgheThông tỷ lệ kèo bóng đálệ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 tỷ lệ kèo bóng đá cụ thể vớiNghelệnh (và có thể ngừng nghe vớiUnlisten​​lệnh). Tất cả các phiên nghe trên một kênh cụ thể sẽ được tỷ lệ kèo bóng đá bộ khi AThông tỷ lệ 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ỘTtả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, UnlistenThông tỷ lệ 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 tỷ lệ 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 báo tiếp theo từ danh sách các thông báo thông báo tỷ lệ kèo bóng đá được xử lý nhận được từ máy chủ. Nó trả về một con trỏ null nếu tỷ lệ kèo bóng đá có thông báo đang chờ xử lý.pqnotify, nó được coi là xử lý và sẽ bị xóa khỏi danh sách các thông tỷ lệ kèo bóng đá.

pgnotify *pqnotifyes (pgconn *Conn);

Sau khi xử lý ApgnotifyĐối tượng được trả về bởipqnotify, Hãy chắc chắn giải phóng nó vớipqfreemem. Nó đủ để giải phóngpgnotifyCon trỏ; TheRelnameExtraTrường tỷ lệ 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 tỷ lệ kèo bóng đá cần phải làm gì với tên quan hệ.)

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

pqnotifyestỷ lệ kèo bóng đá thực sự đọc dữ liệu từ máy chủ; nó chỉ trả về các tin nhắn được hấp thụ trước đó bởi một người kháclibpqHà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 thời gianThông tỷ lệ 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 trapqnotifysau mỗiPQEXEC. Mặc dù điều này vẫn hoạt động, nhưng nó tỷ lệ kèo bóng đá được lãng phí sức mạnh xử lý.

Một cách tốt hơn để kiểm traThông tỷ lệ kèo bóng đáTin nhắn Khi bạn tỷ lệ kèo bóng đá có lệnh hữu ích để thực thi là gọiPQConsumeInput, sau đó kiểm trapqnotify. Bạn có thể sử dụngselect ()Để chờ dữ liệu đến từ máy chủ, do đó tỷ lệ 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 ().) Lưu ý rằng điều này sẽ hoạt động OK cho dù bạn gửi các lệnh vớiPQSendQuery/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 báo nào được đưa vào trong quá trình xử lý lệnh tỷ lệ kèo bóng đá.

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài liệu tỷ lệ kèo bóng đá chính xác, tỷ lệ kèo bóng đá khớpMẫu nàyĐể tỷ lệ kèo bóng đá cáo vấn đề tài liệu.