我正在PostgreSQL上编写一个数据库应用程序,它有两个部分:
- GUI - 用 Symfony/Doctrine 编写
- 处理 - 用 C/libpq 编写
组件将在 GUI 插入表中的数据后处理数据。但是,处理组件如何知道有更改?我的默认答案是使用 PostgreSQL 通知/监听命令,因为我热衷于避免某种轮询。
问题:
Symfony应用程序可以使用postgresql通知命令吗?Doctrine支持Native SQL选择,但我不相信这是我所需要的。
还有其他想法吗?
提前谢谢。
原生SELECT
应该完全足够了。
虽然您通常使用 NOTIFY
语句,但也可以调用 pg_notify
函数以获得相同的效果。
SELECT pg_notify('key','payload');
您的工作人员可以正常LISTEN key;
,并且会收到以这种方式生成的通知,就像使用NOTIFY
一样。