tal*_*sei 12 postgresql privileges search-path
我在RedHat上使用PostgreSQL 9.0.3.该数据库包含两个模式,public和wh.我创建了一个名为的新角色django.我希望此用户使用wh架构,因为它是默认的.
按照手册,我做了:
ALTER USER django SET SEARCH_PATH TO wh, public;
Run Code Online (Sandbox Code Playgroud)
这似乎有效:
SHOW SEARCH_PATH;
search_path
-------------
wh, public
Run Code Online (Sandbox Code Playgroud)
但是,如果我然后执行a \dt,则仅显示公共模式中的表.在手册中,更改搜索路径应立即生效,我应该能够访问wh没有前缀的表,但事实并非如此.登录和注销会保留更改,search_path但不会显示任何行为更改.
我错过了什么?
Erw*_*ter 14
这可能会解决您的问题:
GRANT USAGE ON SCHEMA wh TO django;
Run Code Online (Sandbox Code Playgroud)
(或者对任何将django作为(直接或间接)成员的角色授予使用权.)
(或者全部授予......如果这是你想要的.)
设置search_path指示Postgres在列出的模式中查找对象.它不允许查看那里有什么.如果"django"没有必要的权限,则\dt不得(也不要)显示该信息.
另一方面,如果您已经尝试过超级用户(根据您对先前建议的评论),那么这可能不是它......
| 归档时间: |
|
| 查看次数: |
12611 次 |
| 最近记录: |