【问题标题】:psql: no relations found despite existing relationspsql:尽管存在关系,但没有找到关系
【发布时间】:2013-07-08 19:43:21
【问题描述】:

版本 8.4.16(版本没有选择)。

我按如下方式登录我的数据库:

psql -d JRuser

得到的提示是:

JRuser=>

我做 \d 或 \dt 期望看到架构“翻译”中所有关系的列表

No relations found. 

但我可以从架构中的任何表中进行选择,而不会出现任何问题。例如:

select * from translate.storage; --works fine

我已经通过 \dn+:

确保了 JRuser 的访问权限是正确的
                                 List of schemas
        Name        |  Owner   |  Access privileges   |           Description  
translate           | JRuser   | JRuser=UC/JRuser     | 
                               : postgres=UC/JRuser     

为什么我看不到翻译架构中的表?

【问题讨论】:

  • 我觉得你需要使用\dt translation.*
  • 我当然可以做到这一点,但直到今天我已经能够做到 \d 或 \d 没有任何限定符。我没有更改任何配置设置,所以我很困惑。

标签: sql postgresql schema psql


【解决方案1】:

\d 在 psql 中仅显示 可见 表,即在您的 search_path 中。

试试看:

SHOW search_path;
SET search_path= translate;
\d

您的会话设置可能已以某种方式更改。有多种方法可以做到这一点:

后面关于 dba.SE 的相关问题:

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-19
  • 1970-01-01
  • 1970-01-01
  • 2014-10-24
  • 1970-01-01
  • 2013-02-20
相关资源
最近更新 更多