# pgAdmin

> 在 pgAdmin 中注册 PostgreSQL 服务器、浏览数据库对象，并在图形化查询工具中运行 SQL。

---

LLMS 索引： [llms.txt](/llms.txt)

---

<span id="intro-chapter-8" class="pdf-anchor"></span><span id="intro-page-112" class="pdf-anchor"></span>

pgAdmin 是广泛使用的 PostgreSQL 数据库图形化管理工具。它简化了常见的数据库管理任务，提供了浏览数据库对象的界面，还允许用户执行 SQL 查询。

多年来，pgAdmin 3 一直是 PostgreSQL 管理工具的事实标准。不过，2016 年，EnterpriseDB 停止支持 pgAdmin 3，并推出 pgAdmin 4。新版本使用 Python 和现代 Web 技术完全重写，取代了原来的 C++ 实现。pgAdmin 4 刚推出时，重新设计的界面引来了褒贬不一的评价。随着持续开发，它有了显著改进，变得更加稳健，功能也更加丰富。

## 安装 {#intro-section-8-1}

要在 Windows 上运行 pgAdmin 4，请使用 [pgadmin.org/download](<https://pgadmin.org/download>) 提供的安装程序。安装过程很简单，通常使用默认选项就够了。

在 Debian 和 Ubuntu 上，先添加 PostgreSQL 软件仓库（见第 [30](/03-installation-and-quick-start/#intro-section-3-2) 页），然后用以下命令安装 pgAdmin 4：

<span id="intro-page-113" class="pdf-anchor"></span>

```bash
$ sudo apt-get install pgadmin4
```

随后，可用程序列表中会出现“pgAdmin4”。

这个程序的用户界面已完整本地化为十二种语言。要切换语言，点击 **Configure pgAdmin**（配置 pgAdmin），在设置窗口中选择 **Miscellaneous &gt; User language**（杂项 > 用户语言），然后在网页浏览器中重新加载页面。

## 连接服务器 {#intro-section-8-2}

首先设置服务器连接。点击 **Add New Server**（添加新服务器）按钮，在弹出窗口的 **General**（常规）选项卡中，为连接任取一个名称。

在 **Connection**（连接）选项卡中，输入主机名或地址、端口号、用户名和密码。

如果不想每次都输入密码，可以勾选 **Save password**（保存密码）。pgAdmin 会使用主密码加密保存的密码，首次使用时会提示你设置主密码。

注意，这个用户必须已经设有密码。例如，对于 `postgres` 用户，可以用下面的命令设置密码：

```psql
postgres=# ALTER ROLE postgres PASSWORD 'p@ssw0rd';
```

点击 **Save**（保存），验证服务器连接并将它加入 pgAdmin。

<span id="intro-page-114" class="pdf-anchor"></span>

![pgAdmin 服务器注册窗口：localhost、端口 5432、postgres 维护数据库以及密码设置。](/images/intro/p114-01.webp)
{#intro-fig-8-1 num="8.1" caption="在 pgAdmin 中注册服务器" .book-original-figure width=337 height=333}

## 对象浏览器（Browser） {#intro-section-8-3}

左侧窗格显示对象浏览器（Browser）的树形结构。展开后可以看到服务器，本例中名为 `LOCAL`。再展开一层，就能看到它的所有数据库：

- `appdb` 是为了测试用不同编程语言连接 PostgreSQL 而创建的。

- `demo` 是我们的演示数据库。

- `postgres` 总是在安装 PostgreSQL 时创建。

- `test` 在“体验 SQL”一章（第 [35](/04-trying-sql/#intro-chapter-4) 页）中使用过。

<span id="intro-page-115" class="pdf-anchor"></span>

![pgAdmin 中本地 PostgreSQL 服务器的对象树和数据库统计信息面板。](/images/intro/p115-02.webp)
{#intro-fig-8-2 num="8.2" caption="在 pgAdmin 中浏览数据库对象" .book-original-figure width=422 height=294}

展开 `appdb` 下的 **Schemas**（模式）部分，可以看到 `greetings` 表，以及它的列、约束、索引和触发器。（译注：原版此处写作 <code>greetings</code>，第 6 章示例创建的表名是 <code>greeting</code>。）

右键打开的上下文菜单为各类对象提供了多种操作，包括导出、导入、分配权限和删除。

右侧窗格有几个选项卡，用于显示参考信息：

- **Dashboard**（仪表盘）提供系统活动图表。

- **Properties**（属性）显示在对象浏览器（Browser）中选中的对象的属性，例如列的数据类型。

- **SQL** 显示用于创建所选对象的 SQL 命令。

<span id="intro-page-116" class="pdf-anchor"></span>

- **Statistics**（统计信息）列出查询优化器生成查询计划所用的信息；数据库管理员可以据此分析问题。

- **Dependencies, Dependents**（依赖对象、依赖此对象的对象）展示所选对象与数据库中其他对象之间的依赖关系。

## 运行查询 {#intro-section-8-4}

要执行查询，在菜单中选择 **Tools &gt; Query Tool**（工具 > 查询工具），打开一个新的 SQL 编辑器选项卡。

在编辑器中输入查询，按 F5 执行。底部面板的 **Data Output**（数据输出）选项卡会显示查询结果。

![pgAdmin 查询工具显示 SELECT * FROM aircrafts 及返回的飞机记录。](/images/intro/p116-03.webp)
{#intro-fig-8-3 num="8.3" caption="在 pgAdmin 中运行查询" .book-original-figure width=422 height=294}

<span id="intro-page-117" class="pdf-anchor"></span>

要执行新查询而不删除之前的查询，可以先选中需要执行的 SQL 片段，再按 F5。这样，完整的操作历史始终可见，通常比到 **Query History**（查询历史）选项卡的日志中查找所需查询更方便。

## 其他功能 {#intro-section-8-5}

pgAdmin 为 PostgreSQL 的标准工具、系统目录信息、管理函数和 SQL 命令提供了图形用户界面。它还内置了 PL/pgSQL 调试器，用于排查存储过程中的问题。可以通过产品网站 [pgadmin.org](<https://pgadmin.org>) 或 pgAdmin 内置的帮助系统了解它的各项功能。
