我们正在使用PostgreSQL 9.4。
我们需要阻止用户在桌面上执行ALTER,甚至不是表格的所有者。
表的所有者必须“授予”自己执行ALTER的许可。
我想这就像在表的架构上设置'只读标志'。
如果这个表有任何重要性,那么该表将继承自另一个表。
理想的解决方案是允许做一个消息,例如“你不能改变表格,因为......”
这可以实现吗?如果是的话,怎么样?
答案 0 :(得分:0)
这可能不是你真正想要的,但可能是一个有趣的效果:
创建继承表时,必须将其作为父表的所有者,但您可以更改子表的所有者。新的所有者将无法删除/修改继承的列集,但仍可以更改默认值/检查/触发器/等,并添加新列。
最接近实际需要的方法可能是控制所有者角色的访问:创建一个单独的角色来访问表,并从所有者撤消对数据库的CONNECT权限。