小编Sal*_*lah的帖子

有没有办法在 knex.js PostgreSQL 上使用“Listen”?


我在 PostgreSQL 数据库中有一个名为“posts”的表。

所以我想做的是观看帖子表并在插入任何数据时收到通知。

所以我创建了这个notify_changes_of_posts_Table函数,如下所示:

CREATE OR REPLACE FUNCTION notify_changes_of_posts_Table()
RETURNS trigger AS $$
BEGIN
  PERFORM pg_notify(
    'posts_changes',
    json_build_object(
      'operation', TG_OP,
      'record', row_to_json(NEW)
    )::text
  );

  RETURN NEW;
END;
$$ LANGUAGE plpgsql;
Run Code Online (Sandbox Code Playgroud)

我还创建了事件触发器,如下所示:

CREATE TRIGGER posts_changes
AFTER INSERT 
ON posts
FOR EACH ROW
EXECUTE PROCEDURE notify_changes_of_posts_Table()
Run Code Online (Sandbox Code Playgroud)

我的服务器连接到数据库,如下所示:

const db = knex({
  client: 'pg',
  connection: {
    host : '127.0.0.1',
    user : 'postgres',
    password : 'admin',
    database : 'mydb'
  }
});
Run Code Online (Sandbox Code Playgroud)

请注意,服务器 Nodejs 使用 knex.js 工具连接到数据库。

因此,为了获得通知,我需要使用“ LISTEN ”,但我不知道如何实现,我检查了 knex.js 的官方文档,找不到与此主题相关的任何信息。

所以伙计们,我很困惑在这里完成这项工作,所以如果有人可以帮助我在这里提供代码或建议,如果我错了,因为我现在非常非常困惑。
提前谢谢你们<3

postgresql node.js knex.js

5
推荐指数
1
解决办法
2231
查看次数

标签 统计

knex.js ×1

node.js ×1

postgresql ×1