Symfony2 / Doctrine和PostgreSQL NOTIFY / LISTEN

时间:2012-11-22 23:39:16

标签: database postgresql symfony notifications doctrine-orm

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

  1. GUI - 用Symfony / Doctrine编写
  2. 处理 - 用C / libpq编写
  3. 处理组件将在GUI插入表后处理数据。但是,处理组件如何知道存在变化?我的默认答案是使用PostgreSQL notify / listen命令,因为我很想避免某种轮询。

    问题:

    1. Symfony应用程序是否可以通过某种方式使用postgresql notify命令? Doctrine支持Native SQL选择,但我不相信这是我需要的。

    2. 还有其他想法吗?

    3. 提前致谢。

1 个答案:

答案 0 :(得分:3)

原生SELECT应该足够了。

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

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

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