3 安装与快速入门
Web 版说明。执行 Debian 或 Ubuntu 软件仓库相关命令前,请先阅读安装勘误:原文中的
lsb_release -cs少了一个空格,而且软件仓库的配置方式自本书出版后已有变化。
要开始使用 PostgreSQL,需要做哪些准备?本章将介绍如何安装 PostgreSQL,以及如何管理相应的服务。下一章,我们将创建一个简单的数据库,尝试一些基本的 SQL 查询。
我们将使用 PostgreSQL 17 的常规发行版(通常称为“vanilla”,即原版)。安装和配置 PostgreSQL 的过程因操作系统而异:
如果你使用 Windows,请继续往下读。
如果要在基于 Linux 的 Debian 或 Ubuntu 系统上配置 PostgreSQL,请跳到第 30 页。
其他操作系统的安装说明可以在线查看:www.postgresql.org/download.
你也可以使用 Postgres Pro Standard 17:它与原版 PostgreSQL 完全兼容,包含一些由 Postgres Professional 开发的附加特性,试用或用于教学时免费。如果选择它,请参阅 postgrespro.com/products/download 上的安装说明。
Windows
安装
下载 PostgreSQL 安装程序,运行后选择安装语言:postgrespro.com/windows.
安装程序采用常见的向导界面:如果默认选项符合需要,只需一路点击“下一步”(Next)按钮。下面我们来看看主要步骤。
选择组件(如果不确定如何选择,保留当前选项即可):

接下来需要指定 PostgreSQL 的安装目录。默认情况下,PostgreSQL 服务器安装在 C:\Program Files\PostgreSQL\17。
你还可以指定数据目录的位置。

数据库系统中存储的所有信息都会放在这个目录中。因此,如果打算存放大量数据,请确保有足够的磁盘空间。
如果打算存储非英语数据,请务必选择相应的区域设置;如果 Windows 的区域设置已经正确,也可以保留“默认”(Default)。
输入并确认数据库用户 postgres 的密码。还应选中“设置环境变量”(Set up environment variables)复选框,以便以当前操作系统用户的身份连接 PostgreSQL 服务器。
其他字段都可以保留默认设置。

如果安装 PostgreSQL 只是为了学习,可以选择“使用默认设置”(Use the default settings),让数据库系统占用更少的内存。
服务管理与主要文件
安装 PostgreSQL 时,系统会注册“postgresql-17”服务。这个服务会在系统启动时,以 Network Service 账户的身份自动运行。如有需要,可以通过 Windows 的标准选项修改服务设置。
要临时停止服务,请在安装时选择的开始菜单子文件夹中运行“停止服务器”(Stop Server)程序。

要启动服务,请在同一文件夹中运行“启动服务器”(Start Server)程序。
如果启动服务时发生错误,可以查看服务器日志来了解原因。日志文件位于安装时选择的数据库目录下的 log 子目录中(通常是 C:\Program Files\PostgreSQL\17\data\log)。日志会定期切换到新文件。你可以根据最后修改日期查找所需的文件,也可以根据文件名查找;文件名包含切换到该文件时的日期和时间。
服务器设置由几个重要的配置文件决定,它们位于数据库目录中。刚开始使用 PostgreSQL 时,无需修改这些文件,但在实际工作中一定会用到。不妨打开看看,文件内都有详尽的说明:
postgresql.conf 是主配置文件,包含服务器参数。
pg_hba.conf 定义访问规则。出于安全考虑,默认配置只允许从本机访问,并要求进行密码验证。
现在,我们已经可以连接数据库,尝试一些命令和 SQL 查询了。请转到第 35 页的“体验 SQL”一章。
Debian 和 Ubuntu
安装
如果你使用 Linux,需要添加 PGDG(PostgreSQL 全球开发组)软件包仓库。目前支持的 Debian 版本为 10“Buster”、11“Bullseye”和 12“Bookworm”;支持的 Ubuntu 版本为 20.04“Focal”、22.04“Jammy”、23.10“Mantic”和 24.04“Noble”。
在控制台窗口中运行以下命令:
添加仓库后,我们来更新软件包列表:
开始安装前,先检查本地化设置:
如果打算处理非英语数据,可能需要配置 LC_CTYPE 和 LC_COLLATE 变量。例如,对于法语,将这两个变量设置为“fr_FR.UTF8”比较合适,尽管“en_US.UTF8”也可能适用:
还应确认操作系统已安装所需的区域设置:
如果没有安装,请按以下方式生成:
现在可以开始安装了:
这是最后一步;安装命令完成后,PostgreSQL 就已安装并启动。要检查服务器是否可用,请运行:
如果一切顺利,就会返回当前的 PostgreSQL 版本。
服务管理与主要文件
安装 PostgreSQL 时,系统会创建一个专用用户 postgres。所有服务器进程都以该用户的身份运行,所有数据库文件也都属于该用户。PostgreSQL 会在操作系统启动时自动启动。在默认设置下,这不会带来什么问题:如果你没有使用数据库服务器,它只会消耗很少的系统资源。如果决定禁用自动启动,请运行:
要临时停止数据库服务,请输入:
可以按以下方式启动服务:
也可以检查服务的当前状态:
如果服务启动失败,请查看服务器日志了解详情。仔细查看 /var/log/postgresql/postgresql-17-main.log 中最新的日志记录。
数据库中存储的所有信息都位于 /var/lib/postgresql/17/main/ 目录下。如果打算存放大量数据,请确保有足够的磁盘空间。
服务器设置由几个配置文件决定。刚开始使用时,无需编辑所有这些文件,但不妨先看看,因为以后一定会用到:
/etc/postgresql/17/main/postgresql.conf 是主配置文件,包含服务器参数。
/etc/postgresql/17/main/pg_hba.conf 文件定义访问设置。出于安全考虑,默认配置只允许从本机访问,并且必须使用与当前操作系统用户同名的数据库用户身份。
现在,该连接数据库,尝试 SQL 了。