Skip to content

Windows PostgreSQL 快速安装指南:从下载到第一条 SQL

PostgreSQL 是当今最先进的开源关系型数据库。越来越多的新项目在技术选型时倾向于 PostgreSQL 而非 MySQL——更完整的 SQL 标准支持、原生 JSON/JSONB 类型、强大的扩展生态,而且完全免费,商用也无需付费。

但在 Windows 上安装 PostgreSQL,比 MySQL 还要折腾一些。

传统安装:两条路都不轻松

方式一:EnterpriseDB 安装器

postgresql.org 下载 EnterpriseDB 提供的图形安装器,一路点 Next 看似简单,但向导里的选项容易让人困惑:安装目录、数据目录、超级用户密码、端口号、区域设置(Locale)……区域设置选错可能导致排序行为异常,而且安装器还会捆绑一个 Stack Builder,新手很难判断哪些组件该装哪些不该装。

方式二:ZIP 二进制包

如果你想要更干净的安装,可以下载官方 ZIP 包手动部署,但步骤更多:

  1. 下载 postgresql-x.x.x-windows-x64-binaries.zip 并解压
  2. 执行 initdb -D <数据目录> -U postgres -E UTF8 初始化数据库
  3. pg_ctl register 注册 Windows 服务
  4. net start postgresql 启动服务
  5. 手动把 bin 目录加入系统 PATH
  6. 设置 PGDATA 环境变量,否则每次执行命令都要带 -D 参数

其中 initdbpg_ctl register 都需要特定的权限和参数,稍有遗漏服务就起不来,排查起来也不直观。

为什么选 PostgreSQL

如果你还在纠结选 MySQL 还是 PostgreSQL,这里列几个关键差异:

  • SQL 标准兼容:PostgreSQL 对 SQL 标准的支持远超 MySQL,窗口函数、CTE、LATERAL JOIN 等高级语法开箱即用
  • JSON 支持:原生 JSONB 类型,支持索引和丰富的查询操作符,很多场景可以替代 MongoDB
  • 扩展性:PostGIS(地理信息)、pg_vector(向量搜索)、TimescaleDB(时序数据)等扩展让 PostgreSQL 能覆盖极广的应用场景
  • 许可证:PostgreSQL 使用类 MIT 的开源许可,商用完全免费,没有 MySQL 那样的双许可证问题

用 hudo 一条命令搞定

hudo 是一个 Windows 开发环境一键引导工具,一条命令即可完成 PostgreSQL 的全部安装配置:

powershell
hudo install pgsql

这条命令自动完成以下所有步骤:

  • 下载解压:从官方源下载 ZIP 二进制包,解压到 {安装盘}:\hudo\lang\pgsql
  • 初始化数据库:执行 initdb,使用 UTF-8 编码,创建 postgres 超级用户
  • 注册 Windows 服务:调用 pg_ctl register,权限不足时自动弹出 UAC 提权
  • 启动服务:自动启动 PostgreSQL 服务
  • 配置环境变量:将 bin 目录写入用户 PATH,并设置 PGDATA 环境变量

整个过程一两分钟,无需任何手动操作。

安装后:执行第一条 SQL

安装完成后,打开一个新的终端窗口,输入:

powershell
psql -U postgres

进入 PostgreSQL 交互式命令行后,执行:

sql
SELECT version();

你会看到类似这样的输出,确认 PostgreSQL 已经在正常运行:

                          version
------------------------------------------------------------
 PostgreSQL 17.x.x, compiled by Visual C++ build 1942, 64-bit

输入 \q 退出 psql。

PGDATA 环境变量的作用

PostgreSQL 的很多命令行工具(pg_ctlpg_dumppsql 等)都需要知道数据目录的位置。如果没有设置 PGDATA,每次都得手动加 -D 参数指定路径,非常繁琐。

hudo 在安装时会自动将 PGDATA 写入用户环境变量,指向数据目录。之后无论是启停服务、备份数据还是查看配置,都不需要额外指定路径。

卸载同样简单

不再需要 PostgreSQL?执行 hudo uninstall pgsql,自动停止服务、移除服务注册、清理安装目录和环境变量。

总结

PostgreSQL 功能强大,但 Windows 上的传统安装流程确实不够友好——无论是图形安装器的繁琐选项,还是 ZIP 包的手动初始化和服务注册,都有不少坑。hudo install pgsql 把这些全部自动化:下载、初始化、服务注册、环境变量配置,一条命令完成,直接 psql -U postgres 开始使用。

如果你还没有安装 hudo,一行 PowerShell 即可:

powershell
irm hudo.zexa.cc/install.ps1 | iex

基于 MIT 协议发布