【问题标题】:PostgreSQL INSERT failing despite privileges尽管有特权,但 PostgreSQL INSERT 失败
【发布时间】:2024-01-23 21:34:01
【问题描述】:

我有一个INSERT声明。 此语句在使用超级用户时可以正常工作。

我有一个(非超级)用户SELECTINSERT在目标表上具有特权。 此用户拥有数据库的CONNECT 权限。 此用户能够对此表和其他表执行SELECT 查询。

但是,该用户无法对目标表执行INSERT语句。

我可能不太擅长使用 Postgres,但我真的看不出这里有什么问题。

我已尝试将所有权限授予上述用户,但仍然没有成功。

想法?

编辑(根据请求):

GRANT 声明:GRANT SELECT, INSERT ON TABLE users_log TO user

GRANT 语句在我执行此操作时似乎运行良好。

【问题讨论】:

  • 您向我们展示您使用的完整GRANT 语句
  • 所以你是说用户user 不能运行insert into users_log .. 语句?你真的把用户命名为user吗?
  • 请在您的问题中添加插入内容和收到的错误消息。
  • @a_horse_with_no_name 不,我没有将用户命名为“用户”。但名称应该无关紧要。
  • 没有错误信息,很难帮你,我们只能猜测哪里出了问题。在查询中更改用户名也无济于事,您可能在不知情的情况下解决了问题。

标签: database postgresql insert privileges


【解决方案1】:

我的序列 USAGE 正确存在问题,因为我的表中有一个 SERIAL 自动递增的 id 列,而我的用户没有正确的权限!谢谢大家!

【讨论】:

    最近更新 更多