首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >PostgreSQL:如何使用PSQL或SQL查询显示表

PostgreSQL:如何使用PSQL或SQL查询显示表

作者头像
小徐
发布2025-11-17 19:31:08
发布2025-11-17 19:31:08
100
举报
文章被收录于专栏:GreenplumGreenplum

PostgreSQL:如何使用PSQL或SQL查询显示表

如果你来自MySQL,可能会本能地在PostgreSQL中输入SHOW TABLES;,结果却得到一个错误。PostgreSQL不包含该命令,但有简单的替代方法。

在这篇文章中,我们将介绍两种列出表的方法:使用psql的内置命令和来自系统目录的SQL查询。你还会看到一些优化结果的额外技巧。

方法1:使用PSQL Shell

从终端连接到数据库:

代码语言:javascript
复制
\c postgres

然后列出当前模式中的所有表:

代码语言:javascript
复制
\dt

想要查看所有模式中的所有表吗?

代码语言:javascript
复制
\dt *.*

你也可以查看特定表的详细信息:

代码语言:javascript
复制
\d table_name

额外提示:仅显示用户拥有的表:

代码语言:javascript
复制
\dt *.* | grep alice

方法2:使用SQL查询

对PostgreSQL的目录或 information_schema 执行查询:

代码语言:javascript
复制
SELECT table_name
FROM information_schema.tables
WHERE table_schema = 'public'
  AND table_type = 'BASE TABLE';

或者按模式分组显示所有表:

代码语言:javascript
复制
SELECT table_schema, table_name
FROM information_schema.tables
ORDER BY table_schema, table_name;

你甚至可以使用内部的 pg_catalog.pg_tables 视图:

代码语言:javascript
复制
SELECT schemaname, tablename, tableowner
FROM pg_catalog.pg_tables
ORDER BY schemaname;

额外视图:

代码语言:javascript
复制
SELECT table_name, table_type
FROM information_schema.tables
WHERE table_schema = 'public';

额外示例:使用数据库客户端

如果你更喜欢可视化工具,像 DbVisualizer 这样的客户端能让你在左侧的 schema 浏览器中直接查看所有表格,并交互式地运行相同的查询。

代码语言:javascript
复制
-- Example: run in DbVisualizer SQL Commander
SELECT * FROM information_schema.tables WHERE table_schema = 'public';

FAQ

PostgreSQL有SHOW TABLES吗?

不,不是的。请改用\dt或系统目录查询。

我能否只获取一个模式中的表 ?

是的,添加一个 WHERE table_schema = 'schema_name' 条件。

我可以包含视图或外部表吗?

移除 AND table_type = 'BASE TABLE' 以列出所有对象。

我能查看更多信息吗,比如所有者和类型?

是的,使用 pg_catalog.pg_tables 并包含tableowner。

结论

PostgreSQL没有直接的 SHOW TABLES 命令,但替代方法同样有效。通过shell中的\dt、系统目录查询以及DbVisualizer等可视化客户端,你可以快速查看数据库结构和模式。

要深入了解完整的查询和截图,请查看DbVisualizer的TheTable博客上关于在PostgreSQL中显示表的 原始文章。

原文:PostgreSQL: How to Show Tables Using PSQL or SQL Queries

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-11-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 河马coding 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • PostgreSQL:如何使用PSQL或SQL查询显示表
  • 方法1:使用PSQL Shell
  • 方法2:使用SQL查询
  • 额外示例:使用数据库客户端
  • FAQ
    • PostgreSQL有SHOW TABLES吗?
    • 我能否只获取一个模式中的表 ?
    • 我可以包含视图或外部表吗?
    • 我能查看更多信息吗,比如所有者和类型?
  • 结论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档