create table my_table
(
id serial primary key,
data integer
);
我想让我的非超级用户对该表具有写入权限,所以我授予了相应的权限。
grant select, update, insert, delete on table my_table to writer;
在这样做之后的某个随机时间点,由于用户缺少修改与序列列相关联的my_table_id_seq
的权限,该用户所做的插入操作开始失败。不幸的是,我无法在我的当前数据库中重现这个问题。
为了解决这个问题,我通过给予用户所需的权限来解决:
grant all on table my_table_id_seq to writer;
有人可以帮我理解为什么在某个时候之后,先前足够的权限可能会开始失效吗?
对于具有序列列的表,授予写入权限的正确方式是什么?