配置Postgres数据库是否有可能只能通过触发器更新特定的表。我有历史表,由触发器更新,所以我想防止这个表未经授权访问。我希望历史表只能从触发器更新。
答案 0 :(得分:0)
为了防止对表进行未经授权的访问,您可以使用以下查询将表的所有者更改为应该访问的用户:
alter table yourschema.yourtable owner to youruser;
现在,您可以使用查询禁用所有其他用户的触发器:
alter table yourschema.yourtable disable trigger triggername all;
此处all
表示已为所有用户禁用触发器。现在只有所有者才能使用触发器更新表格。
答案 1 :(得分:0)
触发器始终触发定义事件。因此,如果为更新定义了更新触发器,则在启用触发器时,没有人可以在更新期间绕过触发器。
如果您具有访问数据库的不同权限的不同用户组,则应将其映射到数据库中的用户。例如,您可以禁止用户在表上禁用触发器。
答案 2 :(得分:0)
不确定。历史表和具有触发器的表都属于没有登录权限的用户。然后,您将后一个表的权限授予应用程序用户。