首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MQTT客户端订阅PostgreSQL DB更改

MQTT客户端订阅PostgreSQL DB更改
EN

Stack Overflow用户
提问于 2016-04-06 07:17:53
回答 3查看 3.2K关注 0票数 2

我有一个定期更新的PostgreSQL数据库,并想发布最新的变化,以蚊子经纪人。采用这种方法最优雅的方式是什么?

EN

回答 3

Stack Overflow用户

发布于 2016-04-06 21:26:02

这个想法很有趣,我使用的是Python9.5,如果我在控制台中输入CREATE LANGUAGE plpythonu,就可以使用PostgreSQL语言。但我如何才能接收整个数据库和定期变化的数据库到我的代理。

代码语言:javascript
运行
复制
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;
票数 1
EN

Stack Overflow用户

发布于 2016-04-06 14:44:18

Postgress似乎支持python stored procedures,您应该能够从创建/更新触发器调用它。

这与paho python客户端结合在一起就可以做您想要的事情了

票数 0
EN

Stack Overflow用户

发布于 2017-12-14 02:34:28

Postgress有自己的发布/订阅系统: listen/notify。在postgress中为您想要发布的信息设置适当的(监听)通知通道。notify有效负载可以格式化为mqtt消息字符串。创建一个侦听它们并发布到mqtt-broker的客户端。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36438729

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档