Phiên bản được hỗ trợ:3528_3537(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
Tài liệu này dành cho phiên bản cách đọc kèo bó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ế.

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

PostgreSQLƯu đãi cách đọc kèo bóng đá bộ quaNghecách đọc 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 cách đọc kèo bóng đá cụ thể với Thenghelệnh (và có thể dừng lắng nghe vớiUnlistenlệ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 đá không đồng bộ khi acách đọc kèo bóng đáLệnh với tên kênh đó được thực hiện bởi bất kỳ phiên nào. MỘT"tải trọng"Chuỗi có thể được truyền để giao tiếp dữ liệu bổ sung cho người nghe.

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

hàmpqnotifyesTrả về cách đọc kèo bóng đá tiếp theo từ danh sách cách đọc kèo bóng đá chưa được xử lý Tin nhắn nhận được từ máy chủ. Nó trả về một con trỏ null nếu Không có cách đọc kèo bóng đá đang chờ xử lý. Khi một cách đọc kèo bóng đá là đã trở về từpqnotifyes, đó là được coi là xử lý và sẽ bị xóa khỏi danh sách cách đọc kèo bóng đá.

12461_12746

Sau khi xử lý ApgnotifyĐối tượng Được trả về bởipqnotifyes, Hãy chắc chắn để Miễn phí nó vớipqfreemem. Nó là đủ để giải phóngpgnotifyCon trỏ; TherelnameExtraTrường cách đọc kèo bóng đá đại diện cho riêng biệt phân bổ. (Tên của các lĩnh vực này là lịch sử; trong đặ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ụ 31-2Đưa ra một chương trình mẫu minh họa cho việc sử dụng không đồng bộ cách đọc kèo bóng đá.

pqnotifyescách đọc kèo bóng đá thực sự Đọc dữ liệu từ máy chủ; nó chỉ trả về tin nhắn trước đó được hấp thụ bởi người kháclibpqHàm. Trong các bản phát hành trước củalibpq, cách đọc kèo bóng đá duy nhất để đảm bảo biên lai kịp thời củacá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. Trong khi điều này vẫn hoạt động, nó là cách đọc kèo bóng đá được lãng phí sức mạnh xử lý.

cách đọc kèo bóng đá tốt hơn để kiểm tracá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 trapqnotify. 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Để lấy tệp Số mô tả để sử dụng vớiselect ().) Lưu ý rằng điều này sẽ hoạt động tốt 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 có bất kỳ cách đọc kèo bóng đá nào được đưa vào Trong quá trình xử lý lệnh.