如何列出 postgres 模式中的关系
我需要有关相当基本的 Postgres 命令的帮助,但我无法在任何地方找到参考。我的集群设置如下:
database_1
\- schema_1
\- schema_2
\- relation_1
\- relation_2
\- ...
\- relation_3
\- relation_4
\- ...
我知道如何列出数据库 (\l
),并且我知道如何列出“默认”架构中的关系 (\dt
) 。哎呀,我什至可以列出模式(\dn
),但我一生都无法列出模式内的关系。
预先澄清一下,我正在寻找的是:
> \c database_1
You are now connected to database_1
> \somecommand
relation_1
relation_2
>
I need help with a pretty basic Postgres command, but I cannot find a reference anywhere. My cluster is set up like this:
database_1
\- schema_1
\- schema_2
\- relation_1
\- relation_2
\- ...
\- relation_3
\- relation_4
\- ...
I know how to list databases (\l
), and I know how to list relations in the "default" schema (\dt
). Heck, I can even list schemas (\dn
), but I cannot, for the life of me, list the relations within a schema.
To pre-clarify, what I'm looking for is this:
> \c database_1
You are now connected to database_1
> \somecommand
relation_1
relation_2
>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
试试这个:
Try this one:
我会澄清,因为这是谷歌搜索的第一个结果。
\dt schema_2
不会列出schema_2
的所有关系。正确答案在答案的评论中。
可以在这里找到更彻底的答案,列出 PostgreSQL 模式中的表
I'll clarify since this is the first result of a google search.
\dt schema_2
will not list all the relations forschema_2
.The correct answer is in the comments of the answer.
A more thorough answer can be found here, List tables in a PostgreSQL schema
从 PostgresQL 版本 11.2 开始,我发现它的性能符合预期。它还列出了视图和序列,而不仅仅是表格。
\d schema_2。
如果您将 schema_2 替换为您的模式名称并保留点,它似乎工作正常。
一些进一步的命令指令可以通过 \? 在 psql 连接中获得。
As of PostgresQL version 11.2 I find that this performs as expected. It lists views and sequences as well, not just tables.
\d schema_2.
If you replace schema_2 with your schema name and leave the dot it appears to work fine.
Some further command instructions are available in a psql connection via \?