3

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

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

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

问题:

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

  2. 还有其他想法吗?

提前致谢。

4

1 回答 1

3

一个本地人SELECT应该是完全足够的。

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

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

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

于 2012-11-23T00:11:56.157 回答