我有一个定期更新的PostgreSQL数据库,并想发布最新的变化,以蚊子经纪人。采用这种方法最优雅的方式是什么?
发布于 2016-04-06 21:26:02
这个想法很有趣,我使用的是Python9.5,如果我在控制台中输入CREATE LANGUAGE plpythonu,就可以使用PostgreSQL语言。但我如何才能接收整个数据库和定期变化的数据库到我的代理。
CREATE FUNCTION publishChanges ()
RETURNS integer
AS $$
import paho.mqtt.client as mqtt
import paho.mqtt.publish as publish
#client = mqtt.Client()
#client.connect("localhost", 1883, 60)
publish.single("test/data", SELECT * from table ,hostname="127.0.0.1")
#client.loop_forever()
$$ LANGUAGE plpythonu;
发布于 2016-04-06 14:44:18
Postgress似乎支持python stored procedures,您应该能够从创建/更新触发器调用它。
这与paho python客户端结合在一起就可以做您想要的事情了
发布于 2017-12-14 02:34:28
Postgress有自己的发布/订阅系统: listen/notify。在postgress中为您想要发布的信息设置适当的(监听)通知通道。notify有效负载可以格式化为mqtt消息字符串。创建一个侦听它们并发布到mqtt-broker的客户端。
https://stackoverflow.com/questions/36438729
复制相似问题