跳转到主要内容

8 pgAdmin

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

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

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

安装

要在 Windows 上运行 pgAdmin 4,请使用 pgadmin.org/download 提供的安装程序。安装过程很简单,通常使用默认选项就够了。

在 Debian 和 Ubuntu 上,先添加 PostgreSQL 软件仓库(见第 30 页),然后用以下命令安装 pgAdmin 4:

$ sudo apt-get install pgadmin4

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

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

连接服务器

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

在 Connection(连接)选项卡中,输入主机名或地址、端口号、用户名和密码。

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

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

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

点击 Save(保存),验证服务器连接并将它加入 pgAdmin。

pgAdmin 服务器注册窗口:localhost、端口 5432、postgres 维护数据库以及密码设置。
图 8.1 在 pgAdmin 中注册服务器

对象浏览器(Browser)

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

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

  • demo 是我们的演示数据库。

  • postgres 总是在安装 PostgreSQL 时创建。

  • test 在“体验 SQL”一章(第 35 页)中使用过。

pgAdmin 中本地 PostgreSQL 服务器的对象树和数据库统计信息面板。
图 8.2 在 pgAdmin 中浏览数据库对象

展开 appdb 下的 Schemas(模式)部分,可以看到 greetings 表,以及它的列、约束、索引和触发器。(译注:原版此处写作 greetings,第 6 章示例创建的表名是 greeting。)

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

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

  • Dashboard(仪表盘)提供系统活动图表。

  • Properties(属性)显示在对象浏览器(Browser)中选中的对象的属性,例如列的数据类型。

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

  • Statistics(统计信息)列出查询优化器生成查询计划所用的信息;数据库管理员可以据此分析问题。

  • Dependencies, Dependents(依赖对象、依赖此对象的对象)展示所选对象与数据库中其他对象之间的依赖关系。

运行查询

要执行查询,在菜单中选择 Tools > Query Tool(工具 > 查询工具),打开一个新的 SQL 编辑器选项卡。

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

pgAdmin 查询工具显示 SELECT * FROM aircrafts 及返回的飞机记录。
图 8.3 在 pgAdmin 中运行查询

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

其他功能

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