给了表的SELECT权限却还是查不到,先确认连接的是哪个库,再查schema访问权限。以PostgreSQL为例,假设练习角色已能连库,没有继承额外授权,要读取training.quiz_score时,需要能访问training,也需要能读这张表。知英教育用一个只读场景区分这两步。

数据库CONNECT权限:连不上库时先检查第一层

CONNECT表示数据库CONNECT权限,属于数据库级授权。练习时先核对库名和当前角色;连不上库,就还没到检查表的阶段。某些环境会通过PUBLIC赋予角色连库权限,所以不要仅看是否显式授权。配置与登录控制也可能限制连接,错误信息应结合实际环境判断。

数据库连接失败排查清单
没有连上时,暂不查表。

能连库,还是提示没有模式权限

模式是一组数据库对象的命名空间。schema访问权限通常对应USAGE。有了表的SELECT权限,若当前角色仍不能使用模式,按模式名查找其中的对象时仍会失败。知英教育建议在练习中使用独立模式和测试角色,避免旧授权让例题结果失真。

提示模式权限不足时的定位流程
模式与表是两个不同层次。

模式能使用,表却读不了

授予schema访问权限只能解决查找该命名空间内对象的问题,实际读数据还要检查表的SELECT权限,按表或列授予才符合只读需求。可以先核对模式名与表名,再查看当前身份对目标表的有效权限。权限含义见PostgreSQL官方文档。

模式使用和表数据读取的区别
只读任务按实际范围给权限。

自测时,分别写出连库失败时如何检查数据库CONNECT权限,以及模式无权限、读取表被拒时的检查项。可到软考中级备考指南看方向,或从咨询入口向知英教育说明卡在哪一步。