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:如果视图被修改,则通知的主要内容,如果未能解决你的问题,请参考以下文章