簡體   English   中英

如何通過C#監視Postgresql數據庫表中的任何更改

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM