为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 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 关注
  • 83 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信