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。
连接成功后,您可以列出可用的数据库:
- 连接到特定数据库
- 过滤数据库列表
- 在数据库之间切换
- 列出数据库中的表格
如何列出数据库
在 Postgres 服务器中,管理多个数据库是标准做法。每个数据库都位于一个独特的目录中,单独存储在服务器中。
要有效管理数据库服务器,可能需要检索特定信息,如服务器的数据库列表及其相关详细信息。要使用 psql 列出 Postgres 服务器中的数据库,请在 SQL Shell 中登录 Postgres 环境。
登录后,在命令行输入元命令 \list
。这将提示 SQL Shell 显示环境中的数据库概览,如下图所示:
psql 中的数据库列表。
如果想更快地执行命令,可以使用缩写形式 \l
,同样可以获得全面的数据库列表。
在 Postgres 环境中过滤数据库
当在一个拥有众多数据库的环境中浏览时,精确定位一个特定的数据库就变得至关重要。SQL Shell 可以通过在命令中加入数据库特征来实现这一目的。
在 Postgres 环境中,数据库信息存储在 pg_database
表中。例如,如果要检索和过滤包含 “test” 一词的数据库,请执行以下查询:
SELECT * FROM pg_database WHERE datname = 'test_data';
然后,SQL Shell 会列出符合条件的数据库:
名称包含字符串 test 的数据库列表。
由于这种列出数据库和过滤结果的方法是基于 SQL 的,因此可以构造复杂的查询来创建过滤后的数据库列表。不过,这需要熟悉 SQL 和 Postgres 元数据。
如何连接和切换数据库
在使用 SQL Shell 和 PSQL 浏览数据库时,只要知道目标数据库的名称,连接到数据库或在数据库之间切换就很简单。
要连接或切换到数据库,请在 SQL Shell 中登录 Postgres 环境。
然后,在命令行中输入元命令 \connect
,接着输入目标数据库的名称。例如,要连接名为 test_data
的数据库,请使用 \connect test_data
命令。
连接到数据库后,SQL Shell 会显示以下消息:
成功连接到数据库 test_data。
或者,你也可以使用简短命令 \c
来达到同样的效果。
如何列出数据库表
连接到数据库后,就可以列出其中包含的表。为此,请输入 \dt
命令。
SQL Shell 会列出数据库中的所有表:
当前数据库中的表格列表。
使用管理员访问数据库和表
SQL Shell 只是管理 Postgres 数据库的一种工具。另一个工具是 Adminer,它提供了一个简单的图形用户界面(GUI)来管理数据库服务器。此外,Adminer 可以在任何安装了 PHP 的环境中运行。
您可以单独安装和运行 Adminer,安装好 Adminer 后,运行它并输入 Postgres 环境的凭据:
Adminer 登录页面。
您可以使用 Adminer 检索 Postgres 环境中的数据库列表。登录数据库服务器后,数据库列表就会出现:
Adminer 显示所有数据库的列表。
要连接到所需的数据库,请从列表中选择该数据库。然后,Adminer 会显示所选数据库的表、视图、例程、序列和用户类型列表。
test_data 数据库的信息。
或者,也可以从页面左侧的 DB 下拉菜单中选择数据库:
下拉菜单显示可用数据库。
小结
要成功地管理 Postgres 环境中的数据库,就必须能够以最小的代价查看、过滤和交互所包含的数据。您可能会选择 SQL Shell 命令行,但像 Adminer 这样的图形用户界面工具可能更适合您的工作流程。
评论留言