You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL关联查询报错:permission denied for relation login

解决PostgreSQL关联查询时的权限拒绝问题

嘿,这个问题其实是典型的PostgreSQL权限配置问题,咱们来一步步拆解解决:

首先看你给出的表关系信息:

Schema |     Name     |   Type   |  Owner
--------+--------------+----------+----------
 public | login        | table    | postgres
 public | login_id_seq | sequence | postgres
 public | users        | table    | test
(3 rows)

你执行关联查询时用的用户应该是test(毕竟users表属于这个用户),但login表的所有者是postgres——默认情况下test用户没有访问login表的权限,所以才会抛出这个错误:

ERROR: permission denied for relation login

具体解决步骤

  1. 先切换到拥有login表权限的用户(比如postgres),执行授权语句给test用户授予login表的查询权限:
GRANT SELECT ON login TO test;
  1. 如果你之后需要对login表进行插入、更新或删除操作,可以授予更完整的操作权限:
GRANT SELECT, INSERT, UPDATE, DELETE ON login TO test;
  1. 另外,因为login表关联了login_id_seq序列,如果你的业务需要通过这个序列生成主键,还得给test用户授予序列的使用权限:
GRANT USAGE, SELECT ON SEQUENCE login_id_seq TO test;

完成以上授权后,你再重新运行关联查询语句:

SELECT * FROM users JOIN login ON users.name = login.name;

应该就能正常执行啦~

内容的提问来源于stack exchange,提问作者Joe Escobedo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:07:09