[英]How to monitor postgresql database table for any changes via c#
我正在運行Windows服務,該服務從PostgreSQL的表中讀取配置。 這些設置在服務啟動時只能讀取一次,並且對它們的任何更改都需要重新啟動服務。 我在C#中尋找一種機制來監視數據庫上的任何更改。 這樣我便可以取回有關數據庫更改的設置。
我一直在尋找的一種方法是從PostgreSQL觸發器寫入/修改文本文件,然后使用FileWatcher更新設置。 但是那里也沒有成功。
首先,通過參考npgsql文檔,使用命令listen <channel_name>
創建了永久監聽連接
然后我寫了一個可以觸發命令的觸發器
PERFORM pg_notify('<channel_name>', format('Changed: %s ', NEW.column_name));
因此,觸發器將捕獲特定數據庫表上的任何更改,然后觸發器將通知發送到通道,並監聽並處理C#代碼
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.