gpt4 book ai didi

PostgreSQL search_path 更改没有像宣传的那样工作

转载 作者:行者123 更新时间:2023-11-29 11:13:56 26 4
gpt4 key购买 nike

我在 RedHat 上使用 PostgreSQL 9.0.3。数据库包含两个模式,publicwh。我创建了一个名为 django 的新角色。我希望此用户使用默认的 wh 架构。

按照手册,我做了:

ALTER USER django SET SEARCH_PATH TO wh, public;

这似乎有效:

SHOW SEARCH_PATH;
search_path
-------------
wh, public

但是,如果我随后执行 \dt,则只会显示公共(public)模式中的表。在手册中,更改搜索路径应该会立即生效,我应该可以访问没有前缀的 wh 表,但事实并非如此。登录和注销会保留对 search_path 的更改,但不会显示任何行为更改。

我错过了什么?

最佳答案

GRANT可能会解决您的问题:

GRANT USAGE ON SCHEMA wh TO django;

(或 GRANT USAGE ... 给任何将 django 作为(直接或间接)成员的角色。)
(或者 GRANT ALL ... 如果这是你想要的。)

设置 search_path 指示 Postgres 在列出的模式中查找对象。它不授予查看那里内容的权限。如果“django”没有必要的权限,\dt 不得(也不会)显示该信息。

另一方面,如果您已经尝试过作为 super 用户(根据您对之前建议的评论),那么这可能不是...

关于PostgreSQL search_path 更改没有像宣传的那样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7407404/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com