问题:Symfony2/Doctrine 和 PostgreSQL NOTIFY/LISTEN

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

  1. GUI - 用 Symfony/Doctrine 编写

  2. 处理 - 用 C/libpq 编写

处理组件将在 GUI 插入表格后处理表格中的数据。但是,处理组件如何知道发生了变化?我的默认答案是使用 PostgreSQL 通知/侦听命令,因为我很想避免某种轮询。

问题:

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

  2. 还有什么想法吗?

提前致谢。

解答

本机SELECT应该完全足够了。

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

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

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

Logo

PostgreSQL社区为您提供最前沿的新闻资讯和知识内容

更多推荐