跳转到主要内容
PostgreSQL表格清单获取方法
阅读需 4 分钟

Build the internal tools you need(Dashboard, Workflow Management, CRM, Support and Billing management...) in minutes.

PostgreSQL表格清单获取方法

本文介绍了在PostgreSQL数据库中列出所有表格的两种方法。PostgreSQL提供了两种方法来列出数据库中的所有表格:

  • 使用psql工具的\dt\dt+命令列出当前数据库中的所有表格。
  • 通过查询pg_tables表列出所有表格。

使用\dt列出数据库中的表格

以下示例演示了使用psql工具登录数据库并列出其中表格的过程。请按照以下步骤操作:

  1. 使用postgres用户登录到PostgreSQL服务器:
[~] psql -U postgres
psql (14.4)
Type "help" for help.

注意:也可以使用具有适当数据库权限的任何用户。

  1. 使用以下语句选择testdb数据库:
\c testdb;

如果数据库尚未创建,请执行以下语句:

CREATE DATABASE testdb;
  1. 使用\dt命令列出testdb数据库中的所有表格:
\dt
            Relations List
Schema | Name | Type | Owner
--------+----------------+-------+----------
public | mytable | table | postgres
public | product | table | postgres
public | test_date | table | postgres
public | test_time | table | postgres
public | test_timestamp | table | postgres
public | week_day_sales | table | postgres
(6 rows)
  1. 若要查看有关表格的详细信息,请使用\dt+命令:
\dt+
                                          Relations List
Schema | Name | Type | Owner | Persistence | Access method | Size | Description
--------+----------------+-------+----------+-------------+---------------+------------+-------------
public | mytable | table | postgres | permanent | heap | 16 kB |
public | product | table | postgres | permanent | heap | 16 kB |
public | test_date | table | postgres | permanent | heap | 8192 bytes |
public | test_time | table | postgres | permanent | heap | 8192 bytes |
public | test_timestamp | table | postgres | permanent | heap | 8192 bytes |
public | week_day_sales | table | postgres | permanent | heap | 8192 bytes |
(6 rows)

\dt+的输出包含\dt输出以及额外列,如PersistenceAccess methodSizeDescription

从pg_tables表中查询表格

除了\dt\dt+命令外,还可以通过查询pg_tables表列出当前数据库中的所有表格。

pg_tables表是PostgreSQL的内置表,用于存储数据库中的所有表格。

SELECT * FROM pg_tables
WHERE schemaname = 'public';
 schemaname |   tablename    | tableowner | tablespace | hasindexes | hasrules | hastriggers | rowsecurity
------------+----------------+------------+------------+------------+----------+-------------+-------------
public | test_date | postgres | | t | f | f | f
public | test_time | postgres | | t | f | f | f
public | test_timestamp | postgres | | t | f | f | f
public | week_day_sales | postgres | | t | f | f | f
public | mytable | postgres | | f | f | f | f
public | product | postgres | | t | f | f | f
(6 rows)

结论

PostgreSQL提供了两种列出数据库中所有表格的方法:

  • 使用psql工具的\dt\dt+命令列出当前数据库中的所有表格。
  • 通过查询pg_tables表列出所有表格。

在MySQL中,可以使用SHOW TABLES命令列出数据库中的表格。

Related Articles

在 Next.js 博客中使用 Remark 创建交互式目录

目录具有许多好处,对于网站,特别是博客,是一项有价值的增加。一个组织良好且易于导航的目录显著提升用户体验,为读者简化查找所需信息的过程。通过添加目录,您不仅可以为读者提供简化的导航,还可以提高内容的整体可访问性和可用性。

PostgreSQL SELECT 语句

本文介绍了 `PostgreSQL` 中的 `SELECT` 语句的基本形式,以及如何使用 `SELECT` 语句从数据表中查询数据。在 `PostgreSQL` 中,`SELECT` 语句用于从一个或多个表中检索数据,它可能是使用最多的语句。

PostgreSQL中ISNULL和ISNOTNULL的最佳实践

本文介绍了在 PostgreSQL 中如何使用 `IS NULL` 运算符检查一个值是不是 `NULL`。PostgreSQL `IS NULL` 是一个布尔运算符,它检查一个值是不是`NULL`。 `NULL`值是一个特殊的值,它表示什么都没有,它即不是空字符串也不是false。