Postgresql 为pgsql dml操作指定元数据

Postgresql 为pgsql dml操作指定元数据,postgresql,Postgresql,是否可以使用任何postgresql dml操作(如更新)嵌入/设置某些元数据(注释) 案例研究:假设我有tablefoo和bar,现在我在tablefoo上有一个触发器,它只是拒绝/拒绝对bas和meh列执行任何更新操作。 现在我在bartable上有了一个触发器,我喜欢更新bas和mehtable的foo列。 我正在考虑在footrigger中检查激发事件的metadta/信号,以便拒绝或接受更新,可能类似于if(),然后/*let update*/…例如,为来自朋友bartrigger的触

是否可以使用任何postgresql dml操作(如更新)嵌入/设置某些元数据(注释) 案例研究:假设我有table
foo
bar
,现在我在table
foo
上有一个触发器,它只是拒绝/拒绝对
bas
meh
列执行任何更新操作。

现在我在
bar
table上有了一个触发器,我喜欢更新
bas
meh
table的
foo
列。

我正在考虑在
foo
trigger中检查激发事件的metadta/信号,以便拒绝或接受更新,可能类似于
if(),然后/*let update*/…

例如,为来自朋友
bar
trigger的触发器标记事件。

除了我正在考虑的元数据之外,还有其他解决方案吗?

pgsql 9.3_x64@a_linux_guy



谢谢。

不,真的没有。您可以(ab)使用GUCs来实现这一点,但它是脆弱的,并且很可能允许执行您不打算执行的操作,因为它有效地设置了一个全局变量

在这种特定的情况下,听起来您应该能够使用权限来完成它。不要向运行查询的用户授予
foo(bas)
foo(meh)
上的
UPDATE
。作为具有适当更新权限的用户,在
栏上进行触发