列出 PostgreSQL INFORMATION_SCHEMA 表中的所有表
让我们从一个简单的问题开始。INFORMATION_SCHEMA
到底是什么?
INFORMATION_SCHEMA
为我们提供了有关我们数据库中定义的对象的信息。它包含一组 VIEWS
,它们存储 QUERY
数据库对象。
下面的查询就像一个 VIEW
,因为它返回一个包含 YOUR_TABLE
行的逻辑 TABLE
。
Select * from [your_table]
INFORMATION_SCHEMA
是预先存在的,这意味着数据库用户可以在需要时访问此表和所有权限,包括 DROP
。
这个 SCHEMA
包含各种数据库对象,因此如果你想访问某个特定对象,最好写下对象的名称,例如 TABLES
,以检索所有表。
现在让我们继续看看我们如何使用它。
在 PostgreSQL 中检索 INFORMATION_SCHEMA
内的表的基本 SELECT
查询
要获取此 SCHEMA
中的所有表,一个非常简单的查询是编写类似这样的内容。
select * from information_schema.tables
这将返回一个像这样的表。
输出:
在这里,你可以看到数据库中的所有表及其 TYPE
。
然而,这个输出有一个令人困惑的方面。如果你向下滚动 OUTPUT
一点,你会注意到这一点。
输出:
在这里,你将看到 TABLE_SCHEMA
设置为 INFORMATION_SCHEMA
的不同表。但是,我们不是叫 INFORMATION_SCHEMA.TABLES
,那这是什么?
让我们解释一下。TABLE_SCHEMA
告诉我们 SCHEMA
包含该表。
当我们调用 INFORMATION_SCHEMA.TABLES
时,它会返回由其文档中的数据库规则定义的所有对象。因此,它还包括 PG_CATALOG
和 PUBLIC
表。
但是将 TABLE_SCHEMA
设置为 INFORMATION_SCHEMA
的表倾向于遵循称为 SQL STANDARD
的东西,这意味着它们可以在其他不同的 DBMS 系统上查看。你可以通过在 Google 上搜索 ISO/IEC 9075
来查看 SQL 标准
。
相比之下,PG_CATALOG
只有 PostgreSQL 特定的表;因此,它们包含在该域中。
附带说明一下,INFORMATION_SCHEMA
可能也倾向于将这些 SYSTEM
表输出为符合 SQL STANDARD
的元数据。
PostgreSQL 中 INFORMATION_SCHEMA
的 SELECT
查询修改
为了分别从上述查询返回的表范围中获取 INFORMATION_SCHEMA
表,我们使用:
select * from information_schema.tables where table_schema = 'information_schema'
或者,如果你想显示不同的表格集,你可以将 TABLE_SCHEMA
更改为 PUBLIC
或 PG_CATALOG
。
在 PSQL
中运行相同的查询会返回:
输出:
PostgreSQL 中 INFORMATION_SCHEMA
列表(工作更新)的 PSQL
语句
要在 PSQL
控制台中查看 INFORMATION_SCHEMA
,你可以发出以下语句:
postgres=# \dt information_schema.*
这将返回 INFORMATION_SCHEMA
中的所有对象。DT
用作列出表格的简写形式。
在 PostgreSQL 的数据库中返回表的 \z
另一个非常常用的方法可能包括\z
。这被错误地写为'/z'
,这可能会导致错误。
声明如下。
postgres-# \z
这主要返回用户制作的表格。此外,你可以使用:
postgres-# \dn information_schema
这告诉我们 SCHEMA
的 OWNER
。
\z
修改以获取 PostgreSQL 中的所有表
第一个解决方案的替代方法是使用:
postgres-# \dt *.*
这将像以前一样返回所有表。
我们希望你了解了我们可以为我们的用户显示 INFORMATION_SCHEMA
表的不同方式。我们总是尽最大努力探索解决问题的可能方法。
今天我们已经介绍了 INFORMATION_SCHEMA
的显示以及可能使用的不同命令和表格。
相关文章
在一个 PostgreSQL 查询中使用多个 WITH 语句
发布时间:2023/03/20 浏览次数:127 分类:PostgreSQL
-
在本教程中,我们将学习如何使用多个 WITH 语句在 PostgreSQL 中使用两个临时表执行查询。
在 Ubuntu 上的 PostgreSQL 中找到配置文件
发布时间:2023/03/20 浏览次数:130 分类:PostgreSQL
-
本文介绍如何在 Ubuntu 上找到 PostgreSQL 数据库的配置文件。
在 PSQL 中运行 SQL 文件
发布时间:2023/03/20 浏览次数:178 分类:数据库
-
本文解释了如何直接从终端/命令行或 psql shell 运行 SQL 文件。为此,你需要指定主机名、端口、用户名和数据库名称。
在 PostgreSQL 中使用循环
发布时间:2023/03/20 浏览次数:124 分类:PostgreSQL
-
在 PL/SQL 中,你可能需要在 Postgres 中使用循环。我们可以使用 FOR 和 WHILE 语句来创建循环。
在 PostgreSQL 中重命名和更改列类型的单个查询
发布时间:2023/03/20 浏览次数:121 分类:PostgreSQL
-
本文介绍如何在 PostgreSQL 中仅使用单个查询来重命名列以及更改其类型。
在 PostgreSQL 中使用 Select 连接列
发布时间:2023/03/20 浏览次数:202 分类:PostgreSQL
-
本文介绍如何在 PostgreSQL 中使用 Select 方法连接列。