亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何使用 golang 捕獲新 postgreSQL 記錄的事件

如何使用 golang 捕獲新 postgreSQL 記錄的事件

Go
慕桂英3389331 2023-04-04 14:18:49
我有一個連接到數據庫并可以從中獲取數據的腳本 我能以某種方式讓它在任何新記錄添加到數據庫表時通知我嗎
查看完整描述

2 回答

?
叮當貓咪

TA貢獻1776條經驗 獲得超12個贊

您可以使用LISTEN/NOTIFYPostgresql 的功能。

使用"github.com/lib/pq",您可以輕松獲取通知事件并對新的數據庫事件做出反應。


查看完整回答
反對 回復 2023-04-04
?
森欄

TA貢獻1810條經驗 獲得超5個贊

使用 sql 觸發器和go-pg庫解決了這個問題:

  1. 創建名為 的 sql 函數insert_test_func,然后INSERT執行:

    PERFORM pg_notify('mychan', 'Message');
  2. 創建觸發器,執行 func:

    create trigger check_insert 
    before insert or update on *my_table_name*for each row 
    execute procedure insert_test_func();
  3. 執行這個觸發器

  4. 使用github.com/go-pg/pg,連接到 DB 并使用pg.Listen()收聽頻道'Message'。


查看完整回答
反對 回復 2023-04-04
  • 2 回答
  • 0 關注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號