是否可以配置Postgres数据库,使得特定列只能由触发器更新,同时仍允许执行触发器本身以响应角色的更新而无需更新该列的权限?如果是这样,怎么样?
例如,给定的表和这样的触发器:
a.flag
我想定义一个角色,不有权使用UPDATE
语句直接更新flag
,但可能> 通过触发器间接更新import javax.swing.*;
import java.awt.*;
public class Taschenrechner extends JFrame{
//Instanzvariablen im Zusamenhang mit dem Menu
private JMenuBar MenuBar;
private JMenu MenuHelp;
private JMenuItem MenuHelpQuit;
public Taschenrechner() {
super();
//Flaeche festlegen
this.setSize(300,300);
//Menukomponenten definieren
MenuHelp= new JMenu("Help");
MenuHelpQuit=new JMenuItem("Quit");
//Menukomponenten zusammensetzen
MenuHelp.add(MenuHelpQuit);
MenuBar.add(MenuHelp);
this.setJMenuBar(MenuBar);
}
}
。
答案 0 :(得分:5)
是的,可以使用flag
触发功能。触发器功能作为一个角色运行,有权修改GRANT
列,但您没有GRANT
对普通用户的权利。您应该将触发器功能创建为您将授予所需权限的角色。
这要求应用程序不以拥有表的用户身份运行,当然也不是超级用户。
您可以flag
向用户提供对其他列的列更新权限,只需忽略GRANT
列即可。请注意,所有列上UPDATE
REVOKE
flag
UIPickerView
UIPickerView