最近,我确实以超级用户身份创建了一个表格,其中包括一个序列ID列,例如,
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;
有人可以帮助我了解
- 为什么在某个时候以前足够的权限可能会开始失败?
- 授予具有串行列的表的写许可权的正确方法是什么?