Một plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay ví dụ có thể được tìm thấy trongPREDT/TEST_DECODING
Subdirectory của cây nguồn PostgreSQL.
Plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay được tải bằng cách tự động tải thư viện dùng chung với tên plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay làm tên cơ sở thư viện. Đường dẫn tìm kiếm thư viện thông thường được sử dụng để định vị thư viện. Để cung cấp các cuộc gọi lại plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay cần thiết và để chỉ tỷ lệ kèo bóng đá trực tuyến hôm nay rằng thư viện thực sự là một plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay, nó cần cung cấp một chức năng có tên_pg_output_plugin_init
. Hàm này được thông qua một cấu trúc cần được lấp đầy bằng các con trỏ chức năng gọi lại cho các hành động riêng lẻ.
Typedef Struct OutputPluginCallbacks Logicaldecodestartupcb startup_cb; LogicalDecodeBeginCB BẮT ĐẦU_CB; LogicalDecodeChangecb Change_cb; Logicaldecodetruncatecb cắt ngắn_cb; Logicaldecodecommitcb cam kết_cb; Logicaldecodemessagecb message_cb; Logicaldecodefilterbyorigincb filter_by_origin_cb; Logicaldecodeshutdowncb shutdown_cb; Outputplugincallbacks; typedef void ( *logicOutputplugIninit) (struct outputplugincallbacks *cb);
TheBEGIN_CB
, Change_cb
vàcam kết_cb
gọi lại là bắt buộc, trong khistartup_cb
, Filter_by_origin_cb
, cắt ngắn_cb
vàshutdown_cb
là tùy chọn. Nếu nhưcắt ngắn_cb
không được đặt mà làcắt ngắn
sẽ được tỷ lệ kèo bóng đá trực tuyến hôm nay mã, hành động sẽ bị bỏ qua.
Để giải mã, định dạng và thay đổi đầu tỷ lệ kèo bóng đá trực tuyến hôm nay, các plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay có thể sử dụng hầu hết cơ sở hạ tầng bình thường của phụ trợ, bao gồm các chức năng đầu tỷ lệ kèo bóng đá trực tuyến hôm nay. Chỉ đọc quyền truy cập vào các mối quan hệ được cho phép miễn là chỉ có các quan hệ được truy cập mà đã được tạo bởiinitDB
trongpg_catalog
Schema hoặc đã được đánh dấu là các bảng danh mục được cung cấp của người dùng bằng cách sử dụng
ALTER BẢNG user_catalog_table set (user_catalog_table = true); Tạo bảng khác_catalog_table (văn bản dữ liệu) với (user_catalog_table = true);
Bất kỳ hành động nào dẫn đến gán ID giao dịch đều bị cấm. Rằng, trong số những người khác, bao gồm ghi vào bảng, thực hiện các thay đổi DDL và gọipg_cien_xact_id ()
.
Cuộc gọi lại plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay có thể truyền dữ liệu cho người tiêu dùng ở các định dạng gần như tùy ý. Đối với một số trường hợp sử dụng, như xem các thay đổi thông qua SQL, trả về dữ liệu trong một loại dữ liệu có thể chứa dữ liệu tùy ý (ví dụ:bytea
) là cồng kềnh. Nếu plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay chỉ xuất dữ liệu văn bản trong mã hóa của máy chủ, thì có thể khai báo rằng bằng cách đặtOutputPlugInOptions.Output_Type
đếnoutput_plugin_textual_output
thay vìoutput_plugin_binary_output
trongGọi lại khởi động. Trong trường hợp đó, tất cả dữ liệu phải có trong mã hóa của máy chủ để AText
Datum có thể chứa nó. Điều này được kiểm tra trong các bản dựng hỗ trợ xác nhận.
Một plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay được thông báo về các thay đổi đang xảy tỷ lệ kèo bóng đá trực tuyến hôm nay thông qua các cuộc gọi lại khác nhau mà nó cần cung cấp.
Giao dịch đồng thời được tỷ lệ kèo bóng đá trực tuyến hôm nay mã theo thứ tự cam kết và chỉ các thay đổi thuộc về một giao dịch cụ thể được tỷ lệ kèo bóng đá trực tuyến hôm nay mã giữaBắt đầu
vàcam kết
gọi lại. Các giao dịch đã được cuộn trở lại rõ ràng hoặc ngầm không bao giờ được tỷ lệ kèo bóng đá trực tuyến hôm nay mã. Các điểm lưu thành công được gấp lại vào giao dịch có chứa chúng theo thứ tự chúng được thực hiện trong giao dịch đó.
Chỉ các giao dịch đã được xử lý an toàn vào đĩa sẽ được tỷ lệ kèo bóng đá trực tuyến hôm nay mã. Điều đó có thể dẫn đến mộtcam kết
Không được tỷ lệ kèo bóng đá trực tuyến hôm nay mã ngay lập tức theo saupg_logical_slot_get_changes ()
Khisynchronous_commit
được đặt thànhTẮT
.
Tùy chọnstartup_cb
Callback được gọi bất cứ khi nào một khe sao
15559_15763
Theis_init
Tham số sẽ đúng khi khe sao chép được tạo và sai nếu không.Tùy chọn
Truyền vào một cấu trúc của các tùy chọn mà các plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay có thể đặt:
Typedef Struct OutputPlugInOptions OutputPlugInOutputType output_type; bool nhận_rewrites; OutputPlugInOptions;
output_type
phải được đặt thànhoutput_plugin_textual_output
hoặcoutput_plugin_binary_output
. Xem thêmPhần 48.6.3. Nếu nhưnhận_rewrites
là đúng, plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay cũng sẽ được gọi cho các thay đổi được thực hiện bởi các bản viết lại heap trong các hoạt động DDL nhất định. Đây là những điều đáng quan tâm đối với các plugin xử lý sao chép DDL, nhưng chúng yêu cầu xử lý đặc biệt.
Cuộc gọi lại khởi động sẽ xác nhận các tùy chọn có trongctx- output_plugin_options
. Nếu plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay cần có trạng thái, nó có thể sử dụngctx- output_plugin_private
Để lưu trữ nó.
Tùy chọnshutdown_cb
Callback được gọi bất cứ khi nào một khe sao chép hoạt động trước đây không được sử dụng nữa và có thể được sử dụng để giải quyết các tài nguyên riêng tư cho plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay. Khe không nhất thiết phải bị loại bỏ, phát trực tuyến chỉ bị dừng.
17643_17724
Yêu cầuBEGIN_CB
Gọi lại được gọi bất cứ khi nào bắt đầu một giao dịch đã được tỷ lệ kèo bóng đá trực tuyến hôm nay mã. Các giao dịch bị hủy bỏ và nội dung của chúng không bao giờ được tỷ lệ kèo bóng đá trực tuyến hôm nay mã.
18226_18365
TheTXN
Tham số chứa thông tin meta về giao dịch, như dấu thời gian mà nó đã được cam kết và XID của nó.
Yêu cầucam kết_cb
Gọi lại được gọi bất cứ khi nào một cam kết giao dịch đã được tỷ lệ kèo bóng đá trực tuyến hôm nay mã. TheChange_cb
Gọi lại cho tất cả các hàng đã được sửa đổi sẽ được gọi trước đó, nếu đã có bất kỳ hàng sửa đổi nào.
19127_19330
Yêu cầuChange_cb
Gọi lại được gọi cho mỗi sửa đổi hàng riêng lẻ trong một giao dịch, có thể là mộtChèn
, Cập nhật
hoặcXóa
. Ngay cả khi lệnh ban đầu đã sửa đổi một số hàng cùng một lúc, cuộc gọi lại sẽ được gọi riêng cho mỗi hàng.
20003_20270
TheCTX
vàTXN
Tham số có cùng nội dung vớiBEGIN_CB
vàcam kết_cb
Callbacks, nhưng ngoài tỷ lệ kèo bóng đá trực tuyến hôm nay là mô tả quan hệMối quan hệ
chỉ vào mối quan hệ hàng thuộc về và một cấu trúcthay đổi
Mô tả sửa đổi hàng được thông qua.
Chỉ các thay đổi trong các bảng do người dùng xác định không được tính toán (xemkhông bao gồm
) và không tạm thời (xemtạm thời
hoặcTemp
) có thể được trích xuất bằng cách tỷ lệ kèo bóng đá trực tuyến hôm nay.
Thecắt ngắn_cb
Callback được gọi chocắt ngắn
lệnh.
21658_21993
Các tham số tương tự nhưChange_cb
gọi lại. Tuy nhiên, vìcắt ngắn
Hành động trên các bảng được kết nối bởi các khóa nước ngoài cần được thực hiện cùng nhau, cuộc gọi lại này nhận được một loạt các mối quan hệ thay vì chỉ một. Xem mô tả củacắt ngắnCâu lệnh để biết chi tiết.
Tùy chọnFilter_by_origin_cb
Gọi lại được gọi để xác định xem dữ liệu đã được phát lại từOrigin_id
được plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay quan tâm.
22989_23146
TheCTX
Tham số có cùng nội dung với các cuộc gọi lại khác. Không có thông tin nhưng nguồn gốc có sẵn. Để báo hiệu rằng những thay đổi bắt nguồn từ nút được truyền trong nút là không liên quan, trả về đúng, khiến chúng được lọc đi; sai nếu không. Các cuộc gọi lại khác sẽ không được gọi cho các giao dịch và các thay đổi đã được lọc đi.
Điều này rất hữu ích khi thực hiện các tỷ lệ kèo bóng đá trực tuyến hôm nay pháp sao chép xếp tầng hoặc đa hướng. Lọc theo nguồn gốc cho phép ngăn chặn việc sao chép các thay đổi tương tự qua lại trong các thiết lập như vậy. Mặc dù các giao dịch và thay đổi cũng mang thông tin về nguồn gốc, nhưng việc lọc qua cuộc gọi lại này hiệu quả hơn đáng kể.
Tùy chọnmessage_cb
Callback được gọi bất cứ khi nào một thông báo tỷ lệ kèo bóng đá trực tuyến hôm nay đã được giải mã.
24314_24761
TheTXN
Tham số chứa thông tin meta về giao dịch, giống như dấu thời gian mà nó đã được cam kết và XID của nó. Tuy nhiên, lưu ý rằng nó có thể là NULL khi tin nhắn không chuyển đổi và XID chưa được chỉ định trong giao dịch đã đăng nhập tin nhắn. TheLSN
Có vị trí Wal của tin nhắn. TheGiao dịch
Nói rằng tin nhắn được gửi dưới dạng giao dịch hay không. Thetiền tố
là tiền tố được chấm dứt null tùy ý có thể được sử dụng để xác định các tin nhắn thú vị cho tỷ lệ kèo bóng đá trực tuyến hôm nay hiện tại. Và cuối cùng làtin nhắn
Tham số giữ thông báo thực tế củamessage_size
kích thước.
Cần chú ý thêm để đảm bảo rằng tiền tố mà Plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay cho là thú vị là duy nhất. Sử dụng tên của tiện ích mở rộng hoặc bản thân plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay thường là một lựa chọn tốt.
Để thực sự tạo tỷ lệ kèo bóng đá trực tuyến hôm nay đầu tỷ lệ kèo bóng đá trực tuyến hôm nay, các plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay có thể ghi dữ liệu vàoStringInfo
Bộ đệm đầu tỷ lệ kèo bóng đá trực tuyến hôm nay trongctx- out
Khi ở bên trongBEGIN_CB
, cam kết_cb
hoặcChange_cb
gọi lại. Trước khi ghi vào bộ đệm đầu tỷ lệ kèo bóng đá trực tuyến hôm nay,OutputPlugInprepareWrite (CTX, Last_Write)
phải được gọi và sau khi hoàn thành việc viết vào bộ đệm,OutputPlugInwrite (CTX, Last_Write)
phải được gọi để thực hiện ghi. Thelast_write
Cho biết liệu một bản ghi cụ thể có phải là bản ghi cuối cùng của cuộc gọi không.
Ví dụ sau đây cho thấy cách xuất dữ liệu cho người tiêu dùng plugin đầu tỷ lệ kèo bóng đá trực tuyến hôm nay:
outputPlugInprepareWrite (CTX, true); EXTRINGTRINGINFO (CTX- OUT, "Bắt đầu %U", TXN- XID); OutputplugInwrite (ctx, true);
Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không khớ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Để báo cáo vấn đề tài liệu.