Postgresql,限制特定列的更新(只读)

时间:2013-03-14 14:15:03

标签: postgresql

如果更新包含对特定列的更改,是否可以让postresql限制/阻止对特定记录的更新?

如何实施。触发/约束?实现这一目标的最有效方法是什么?

我使用的是9.1版

2 个答案:

答案 0 :(得分:19)

最简单的方法是创建BEFORE UPDATE触发器,以便比较OLDNEW行以及RAISE EXCEPTION,如果禁止对该行进行更改。

答案 1 :(得分:6)

不,但写起来应该是微不足道的。 只需设置一个BEFORE UPDATE触发器,将旧字段与新字段进行比较,如果它们不同则执行RAISE ERROR。 pgSQL文档有一些如何编写触发函数的例子。