Thekèo bóng đá phápLệnh gửi kèo bóng đá pháp sự kiện cùng với một tùy chọn"Tải trọng"Chuỗi cho mỗi ứng dụng máy khách có được thực hiện trước đóNghekênhcho tên kênh được chỉ định Trong cơ sở dữ liệu hiện tại. kèo bóng đá pháp có thể nhìn thấy cho tất cả người dùng.
kèo bóng đá phápCung cấp một bộ phận đơn giản cơ chế giao tiếp cho một tập hợp các quy trình truy cập như nhauPostgreSQLCơ sở dữ liệu. MỘT Chuỗi tải trọng có thể được gửi cùng với kèo bóng đá pháp và Các cơ chế cấp cao hơn để truyền dữ liệu có cấu trúc có thể được xây dựng bởi Sử dụng các bảng trong cơ sở dữ liệu để truyền dữ liệu bổ sung từ kèo bóng đá pháp cho người nghe (s).
Thông tin được truyền cho khách hàng cho một sự kiện kèo bóng đá pháp Bao gồm tên kênh kèo bóng đá pháp, phiên kèo bóng đá pháp Quy trình máy chủPIDvà chuỗi tải trọng, đó là một chuỗi trống nếu nó chưa được được chỉ định.
Tùy thuộc vào nhà thiết kế cơ sở dữ liệu để xác định tên kênh sẽ được sử dụng trong một cơ sở dữ liệu nhất định và mỗi cái có nghĩa là gì. Thông thường, tên kênh giống như tên của một số bảng trong Cơ sở dữ liệu và sự kiện kèo bóng đá pháp về cơ bản có nghĩa là"Tôi đã thay đổi bảng này, hãy xem nó để xem những gì mới". Nhưng không có hiệp hội nào được thi hành bởikèo bóng đá phápvàNghelệnh. Ví dụ, một nhà thiết kế cơ sở dữ liệu có thể sử dụng một số Tên kênh để báo hiệu các loại thay đổi khác nhau cho một bàn. Ngoài ra, chuỗi tải trọng có thể được sử dụng để phân biệt các trường hợp khác nhau.
Khikèo bóng đá phápđược sử dụng để báo hiệu Sự xuất hiện của các thay đổi đối với một bảng cụ thể, một chương trình hữu ích kỹ thuật là đặtkèo bóng đá phápTrong một quy tắc Điều đó được kích hoạt bởi các bản cập nhật bảng. Theo cách này, kèo bóng đá pháp xảy ra tự động khi bảng được thay đổi và Lập trình viên ứng dụng không thể vô tình quên làm điều đó.
kèo bóng đá pháptương tác với các giao dịch SQL theo một số cách quan trọng. Đầu tiên, nếu mộtkèo bóng đá phápđược thực hiện bên trong một giao dịch, kèo bóng đá pháp các sự kiện không được phân phối cho đến khi và trừ khi giao dịch là tận tụy. Điều này là phù hợp, vì nếu giao dịch là bị hủy bỏ, tất cả các lệnh trong đó không có hiệu lực, bao gồmkèo bóng đá pháp. Nhưng nó có thể gây bối rối nếu một đang mong đợi các sự kiện kèo bóng đá pháp sẽ được gửi ngay lập tức. Thứ hai, nếu phiên nghe nhận tín hiệu kèo bóng đá pháp Mặc dù nó nằm trong một giao dịch, sự kiện kèo bóng đá pháp sẽ không được gửi đến máy khách được kết nối của nó cho đến khi Giao dịch được hoàn thành (đã cam kết hoặc hủy bỏ). Một lần nữa, Lý do là nếu một kèo bóng đá pháp được gửi trong giao dịch sau đó đã bị hủy bỏ, người ta sẽ muốn kèo bóng đá pháp Để hoàn tác bằng cách nào đó - nhưng máy chủ không thể"Lấy lại"13619_13782kèo bóng đá phápĐể tín hiệu thời gian thực nên thử để giữ cho các giao dịch của họ ngắn.
13888_14347kèo bóng đá phápĐảm bảo rằng kèo bóng đá pháp từ cùng một giao dịch được thực hiện theo đơn đặt hàng Họ đã được gửi. Nó cũng được đảm bảo rằng các tin nhắn từ các thông điệp khác nhau Giao dịch được thực hiện theo thứ tự các giao dịch tận tụy.
kèo bóng đá pháp thường cho một máy khách thực hiệnkèo bóng đá phápĐể nghe trên cùng một kèo bóng đá pháp kênh chính nó. Trong trường hợp đó, nó sẽ nhận lại một sự kiện kèo bóng đá pháp, Cũng giống như tất cả các phiên nghe khác. Tùy thuộc vào Logic ứng dụng, điều này có thể dẫn đến công việc vô dụng, ví dụ, Đọc bảng cơ sở dữ liệu để tìm các bản cập nhật tương tự mà phiên đó Chỉ viết ra. Có thể tránh được công việc thêm như vậy bằng cách nhận thấy liệu quá trình máy chủ của phiên kèo bóng đá phápPID(được cung cấp trong sự kiện kèo bóng đá pháp kèo bóng đá pháp) giống như phiên của chính mìnhPID(Có sẵn từ15307_15314). Khi họ giống nhau, Sự kiện kèo bóng đá pháp là công việc của riêng mình nảy trở lại và có thể bị bỏ qua.
Tên của kênh kèo bóng đá pháp sẽ được báo hiệu (bất kỳ định danh).
The"tải trọng"Chuỗi thành giao tiếp cùng với kèo bóng đá pháp. Điều này phải được chỉ định là một chuỗi đơn giản theo nghĩa đen. Trong cấu hình mặc định, nó phải là ngắn hơn 8000 byte. (Nếu dữ liệu nhị phân hoặc số lượng lớn thông tin cần được truyền đạt, tốt nhất là đặt nó vào Bảng cơ sở dữ liệu và gửi khóa của bản ghi.)
Có một hàng đợi giữ các kèo bóng đá pháp đã được gửi Nhưng chưa được xử lý bởi tất cả các phiên nghe. Nếu hàng đợi này trở nên đầy đủ, giao dịch gọikèo bóng đá pháp16392_16591nghe16620_16906
Một giao dịch đã thực hiệnkèo bóng đá phápKhông thể chuẩn bị cho cam kết hai pha.
Định cấu hình và thực hiện trình tự nghe/kèo bóng đá pháp từPSQL:
Nghe ảo; kèo bóng đá pháp ảo; kèo bóng đá pháp không đồng bộ "ảo" nhận được từ quy trình máy chủ với PID 8448. kèo bóng đá pháp ảo, 'Đây là tải trọng'; kèo bóng đá pháp không đồng bộ "ảo" với tải trọng "Đây là tải trọng" nhận được từ quy trình máy chủ với PID 8448. Nghe foo; Chọn pg_notify ('fo' || 'o', 'pay' || 'load'); kèo bóng đá pháp không đồng bộ "foo" với tải trọng "tải trọng" nhận được từ quy trình máy chủ với PID 14728.