如何在PostgreSQL架构中列出关系

31

我需要帮助使用一个相当基本的Postgres命令,但我无法在任何地方找到参考资料。我的集群设置如下:

database_1
   \- schema_1
   \- schema_2
        \- relation_1
        \- relation_2
        \- ...
   \- relation_3
   \- relation_4
   \- ...

我知道如何列出数据库 (\l),也知道如何列出“default”模式下的关系(\dt)。甚至可以列出模式(\dn),但我却无法在一个模式内列出关系。

求助!

谢谢, Joe


为了先明确一下,我要找的是这个:

> \c database_1
You are now connected to database_1
> \somecommand
relation_1
relation_2
>
3个回答

38

试试这个:

\dt schema_2.

1
完美的,谢谢 :) 同时我也发现星号也可以使用 (\dt schema_2.* 或 \dt schema_*.* 等等) - Joe Mastey
1
此答案似乎已经过时。 - CervEd

23

我会澄清一下,因为这是谷歌搜索的第一个结果。

\dt schema_2 不会列出 schema_2 的所有关系。

正确答案在回答的评论中。

\dt schema_2.* 

更详细的答案可以在这里找到,列出PostgreSQL模式中的表


4

截至PostgreSQL 11.2版本,我发现这个功能表现符合预期。它不仅列出表格,还列出视图和序列。

\d schema_2。

如果您将schema_2替换为您的模式名称并保留点号,则似乎可以正常工作。

通过psql连接可以使用\?获得一些进一步的命令说明。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接