如何使用 golang 捕获新 postgreSQL 记录的事件
How can I catch an event of a new postgreSQL record with golang
我有一个连接到数据库并可以从中获取数据的脚本
当任何新记录添加到数据库时,我能以某种方式通知我 table
您可以使用 Postgresql 的 LISTEN/NOTIFY
功能。
使用 "github.com/lib/pq"
,您可以轻松获取通知事件并对新的数据库事件做出反应。
这是 Go 实现的 example。
使用 sql 触发器和 go-pg
库解决了这个问题:
创建名为 insert_test_func
的 sql 函数,在 INSERT
上执行:
PERFORM pg_notify('mychan', 'Message');
创建触发器,执行函数:
create trigger check_insert
before insert or update on *my_table_name*
for each row
execute procedure insert_test_func();
执行这个触发器
使用 github.com/go-pg/pg
连接到数据库,使用 pg.Listen()
收听 'Message'
.
的频道
我有一个连接到数据库并可以从中获取数据的脚本 当任何新记录添加到数据库时,我能以某种方式通知我 table
您可以使用 Postgresql 的 LISTEN/NOTIFY
功能。
使用 "github.com/lib/pq"
,您可以轻松获取通知事件并对新的数据库事件做出反应。
这是 Go 实现的 example。
使用 sql 触发器和 go-pg
库解决了这个问题:
创建名为
insert_test_func
的 sql 函数,在INSERT
上执行:PERFORM pg_notify('mychan', 'Message');
创建触发器,执行函数:
create trigger check_insert before insert or update on *my_table_name* for each row execute procedure insert_test_func();
执行这个触发器
使用
github.com/go-pg/pg
连接到数据库,使用pg.Listen()
收听'Message'
. 的频道