Postgresql:如果视图被修改,则通知

Posted

技术标签:

【中文标题】Postgresql:如果视图被修改,则通知【英文标题】:Postgresql: notification if a view is modified 【发布时间】:2013-05-07 17:39:39 【问题描述】:

我正在构建一个相当复杂的数据库,为了简化一些查询,我创建了一个包含大量连接表的视图。每当在视图中添加/修改/删除行时,我都需要收到通知。使用 postgresql 9.2 我首先想到了新功能:视图触发器,在 pg 9.1 中介绍。但是,这并不能满足我的需要,因为此功能仅提供了一个触发器,当直接在视图上执行插入/更新/删除时触发该触发器。

长话短说:我需要一些东西(触发器或其他),直接查看视图会在我的视图更新时通知我(我的意思是间接地:当构成视图的表之一被修改时)。是否有一些易于使用的东西,或者我必须为创建视图所涉及的每个表手动设置触发器?

提前致谢!

【问题讨论】:

从更高的层面来看这个。在签入和签出数据库对象时,使用源代码控制并创建您想要的任何类型的通知系统。 “当一个表被修改时”通常意味着有人执行了一个 ALTER TABLE 语句。但这不是你在说的,是吗?您说的是在构建视图的表中的数据更改时收到通知。 【参考方案1】:

您想要的功能不存在。您需要在有趣的表上编写自己的一组触发器。

【讨论】:

以上是关于Postgresql:如果视图被修改,则通知的主要内容,如果未能解决你的问题,请参考以下文章

如何设置PostgreSQL允许被远程访问

如果第一个通知在 swift 中被忽略,则安排第二个通知(或者如果通知被忽略,则完成任何操作)

APNS:如果应用程序被强制退出,则接收静默远程通知

观察者模式

如果应用程序被强制退出,则处理 IOS 远程通知

如果应用程序被杀死,则使用 firebase 发送静默推送通知以唤醒应用程序