Node-RED实时监听PostgreSQL

我需要使用Node-RED实时监听PostgreSQL的变化。 我怎样才能做到这一点?

我在表中的新logging创build触发器,并通知这个“更改”通道。

CREATE FUNCTION notify_trigger() RETURNS trigger AS $$ DECLARE BEGIN PERFORM pg_notify('changes', TG_TABLE_NAME || ',id,' || NEW.id ); RETURN new; END; $$ LANGUAGE plpgsql; CREATE TRIGGER watched_table_trigger AFTER INSERT ON users FOR EACH ROW EXECUTE PROCEDURE notify_trigger(); 

但是我不知道如何从Node-RED收听。 请问你能帮帮我吗? 也许我可以做不同的事情?

看看这个以前的SO问题:

MQTT客户端订阅PostgreSQL数据库变更

看起来Postgress支持基于Python的触发器,可以用来发送Node-RED可以轻松订阅的MQTT消息。

我用WebSocketfind了一个很好的解决scheme。 看下面的例子:

在这里输入图像说明

 var pg = global.get('pg'), WebSocket = global.get('ws'), config = { user: 'user', password: 'user', host: 'somehost', port: 1234, database: 'somedb' }, client = new pg.Client(config); client.connect(function(err) { if (err) node.error(err); client.on('notification', function(msg) { node.send(msg); }); var query = client.query("LISTEN changes"); }); delete msg._session; return msg; 

发布你的解决scheme,我真的想知道更多的方法来解决这个问题。