Symfony2/Doctrine and PostgreSQL NOTIFY/LISTEN



我正在PostgreSQL上编写一个数据库应用程序,它有两个部分:

  1. GUI - 用 Symfony/Doctrine 编写
  2. 处理 - 用 C/libpq 编写
处理

组件将在 GUI 插入表中的数据后处理数据。但是,处理组件如何知道有更改?我的默认答案是使用 PostgreSQL 通知/监听命令,因为我热衷于避免某种轮询。

问题:

  1. Symfony应用程序可以使用postgresql通知命令吗?Doctrine支持Native SQL选择,但我不相信这是我所需要的。

  2. 还有其他想法吗?

提前谢谢。

原生SELECT应该完全足够了。

虽然您通常使用 NOTIFY 语句,但也可以调用 pg_notify 函数以获得相同的效果。

SELECT pg_notify('key','payload');

您的工作人员可以正常LISTEN key;,并且会收到以这种方式生成的通知,就像使用NOTIFY一样。

最新更新