Postgres列出数据库和表的实用教程

Postgres列出数据库和表的实用教程

PostgreSQL 又称 Postgres,是一种开源的对象关系型数据库系统,可帮助用户安全地存储和扩展复杂的数据工作负载。它使用并扩展了 SQL,SQL 是用户访问数据库的语言。

要有效管理 Postgres 数据库服务器,必须熟悉环境和服务器存储的内容。有时,你可能需要列出服务器上运行的数据库,检索它们的信息,并连接到它们。你可以使用 PostgreSQL 界面或图形工具(如 Adminer)完成这些任务,轻松查看和操作这些信息。

如果你的数据库只是 Postgres 服务器上的几个数据库之一,你可能需要过滤列表才能找到它。然后,你通常需要概览数据库所包含的数据,这就需要一个表的列表。本实践指南演示了如何在 Postgres 中列出数据库和表。

前提条件

要学习本指南,请确保您具备以下条件:

  • 安装了一个或多个数据库的 Postgres 数据库服务器。
  • 数据库服务器上某个账户的超级用户访问凭证。
  • 熟悉基本 SQL 命令,如 SELECT 语句和 WHERE 子句。

您还需要有一些可用的数据库和表

如何连接 PostgreSQL 数据库服务器

连接 PostgreSQL 数据库服务器需要通过安装后桌面上的 SQL Shell 访问其独特的 SQL 版本(称为 psql)。

使用 psql 和 SQL Shell,你可以管理你的数据库环境。大多数 SQL 命令用于操作数据和表格,而 psql 元命令则用于处理数据库管理任务。例如,使用元命令创建或删除数据库,使用 SQL 命令添加表格或检索数据。

Psql 元命令由反斜杠( \ )前缀区分,许多元命令有更短的版本。例如, \help\h 具有相同的功能。

要执行 SQL 语句和元命令,请通过 SQL Shell 登录服务器。系统会提示你提供:

  • 目标数据库名称
  • 用户名
  • 密码

输入信息后,会出现一个提示,让你输入 SQL 命令和元命令:

成功登录 psql

成功登录 psql。

连接成功后,您可以列出可用的数据库:

  • 连接到特定数据库
  • 过滤数据库列表
  • 在数据库之间切换
  • 列出数据库中的表格

如何列出数据库

在 Postgres 服务器中,管理多个数据库是标准做法。每个数据库都位于一个独特的目录中,单独存储在服务器中。

要有效管理数据库服务器,可能需要检索特定信息,如服务器的数据库列表及其相关详细信息。要使用 psql 列出 Postgres 服务器中的数据库,请在 SQL Shell 中登录 Postgres 环境。

登录后,在命令行输入元命令 \list。这将提示 SQL Shell 显示环境中的数据库概览,如下图所示:

psql 中的数据库列表

psql 中的数据库列表。

如果想更快地执行命令,可以使用缩写形式 \l,同样可以获得全面的数据库列表。

在 Postgres 环境中过滤数据库

当在一个拥有众多数据库的环境中浏览时,精确定位一个特定的数据库就变得至关重要。SQL Shell 可以通过在命令中加入数据库特征来实现这一目的。

在 Postgres 环境中,数据库信息存储在 pg_database 表中。例如,如果要检索和过滤包含 “test” 一词的数据库,请执行以下查询:

SELECT * FROM pg_database WHERE datname = 'test_data';

然后,SQL Shell 会列出符合条件的数据库:

名称包含字符串 test 的数据库列表

名称包含字符串 test 的数据库列表。

由于这种列出数据库和过滤结果的方法是基于 SQL 的,因此可以构造复杂的查询来创建过滤后的数据库列表。不过,这需要熟悉 SQL 和 Postgres 元数据。

如何连接和切换数据库

在使用 SQL Shell 和 PSQL 浏览数据库时,只要知道目标数据库的名称,连接到数据库或在数据库之间切换就很简单。

要连接或切换到数据库,请在 SQL Shell 中登录 Postgres 环境。

然后,在命令行中输入元命令 \connect,接着输入目标数据库的名称。例如,要连接名为 test_data 的数据库,请使用 \connect test_data 命令。

连接到数据库后,SQL Shell 会显示以下消息:

成功连接到数据库 test_data

成功连接到数据库 test_data。

或者,你也可以使用简短命令 \c 来达到同样的效果。

如何列出数据库表

连接到数据库后,就可以列出其中包含的表。为此,请输入 \dt 命令。

SQL Shell 会列出数据库中的所有表:

当前数据库中的表格列表

当前数据库中的表格列表。

使用管理员访问数据库和表

SQL Shell 只是管理 Postgres 数据库的一种工具。另一个工具是 Adminer,它提供了一个简单的图形用户界面(GUI)来管理数据库服务器。此外,Adminer 可以在任何安装了 PHP 的环境中运行。

您可以单独安装和运行 Adminer,安装好 Adminer 后,运行它并输入 Postgres 环境的凭据:

Adminer 登录页面

Adminer 登录页面。

您可以使用 Adminer 检索 Postgres 环境中的数据库列表。登录数据库服务器后,数据库列表就会出现:

Adminer 显示所有数据库的列表

Adminer 显示所有数据库的列表。

要连接到所需的数据库,请从列表中选择该数据库。然后,Adminer 会显示所选数据库的表、视图、例程、序列和用户类型列表。

test_data 数据库的信息

test_data 数据库的信息。

或者,也可以从页面左侧的 DB 下拉菜单中选择数据库:

下拉菜单显示可用数据库

下拉菜单显示可用数据库。

小结

要成功地管理 Postgres 环境中的数据库,就必须能够以最小的代价查看、过滤和交互所包含的数据。您可能会选择 SQL Shell 命令行,但像 Adminer 这样的图形用户界面工具可能更适合您的工作流程。

评论留言