PostgreSQL on Windows:安装与配置详解 – wiki大全

PostgreSQL on Windows:安装与配置详解

1. 引言

PostgreSQL 是一个功能强大的开源对象关系型数据库系统,以其稳定性、数据完整性、功能丰富性和高性能而闻名。它支持 SQL 标准,并提供了许多高级功能,如复杂查询、外键、触发器、视图、事务完整性、多版本并发控制 (MVCC) 等。对于 Windows 用户而言,PostgreSQL 提供了一个直观的图形化安装程序,使得在本地环境中部署和配置数据库变得相对简单。本文将详细介绍在 Windows 操作系统上安装和配置 PostgreSQL 的步骤。

2. 前提条件

在开始安装之前,请确保您的 Windows 操作系统满足以下基本要求:

  • 操作系统: Windows 7 或更高版本 (推荐 Windows 10/11 或 Windows Server)。
  • 磁盘空间: 至少 500 MB 可用磁盘空间用于安装程序和基本数据库文件,根据您的数据量需求,可能需要更多。
  • 内存: 至少 1 GB RAM (推荐 2 GB 或更多)。

3. 安装步骤

PostgreSQL 官方推荐使用 EnterpriseDB (EDB) 提供的图形化安装程序,它包含了 PostgreSQL 数据库服务器、pgAdmin (图形化管理工具)、Stack Builder (用于安装附加驱动和工具) 和命令行工具。

  1. 下载安装程序:

    • 访问 PostgreSQL 官方下载页面(通常会链接到 EDB 的下载中心)。
    • 选择适合您 Windows 版本的最新稳定版 PostgreSQL (通常是 x86-64 位版本)。下载 .exe 格式的安装程序。
  2. 运行安装程序:

    • 找到下载的安装文件,右键单击并选择“以管理员身份运行”。
    • 如果出现用户账户控制 (UAC) 提示,请点击“是”允许程序运行。
  3. 遵循安装向导:

    • 欢迎界面: 点击“Next”。
    • 选择安装目录 (Installation Directory):
      • 您可以接受默认的安装路径 (例如 C:\Program Files\PostgreSQL\版本号),或选择一个自定义路径。
      • 注意: 确保所选目录有足够的空间,并且不包含特殊字符。点击“Next”。
    • 选择安装组件 (Select Components):
      • 默认情况下,所有组件都会被选中,建议保持默认:
        • PostgreSQL Server: 核心数据库服务器。
        • pgAdmin 4: 功能强大的图形化管理工具。
        • Stack Builder: 用于下载和安装额外的驱动、扩展和工具。
        • Command Line Tools: 包含 psql (命令行客户端)、pg_dumppg_restore 等实用工具。
      • 点击“Next”。
    • 选择数据目录 (Data Directory):
      • 这是 PostgreSQL 存储所有数据库文件和数据的地方。
      • 建议选择一个独立于程序安装目录的磁盘或分区,以便于数据管理和备份。
      • 点击“Next”。
    • 设置超级用户密码 (Password for postgres user):
      • postgres 是 PostgreSQL 的默认超级用户。为该用户设置一个强密码并牢记。此密码是您管理数据库的关键。
      • 点击“Next”。
    • 配置端口 (Port):
      • PostgreSQL 默认使用端口 5432。如果您没有特殊需求或端口冲突,请保留默认值。
      • 点击“Next”。
    • 选择语言环境 (Locale):
      • 选择数据库集群的默认语言环境。通常,您可以选择“Default locale”或根据您的区域设置选择相应的语言环境。
      • 点击“Next”。
    • 预安装摘要 (Pre Installation Summary):
      • 检查您的安装设置。如果一切无误,点击“Next”。
    • 开始安装:
      • 安装程序将开始复制文件并配置服务。这可能需要几分钟。
    • 完成安装:
      • 安装完成后,您可能会看到一个关于启动 Stack Builder 的提示。如果您需要安装额外的驱动或工具,可以勾选它并点击“Finish”;否则,取消勾选直接点击“Finish”。

4. 验证安装

安装完成后,建议进行快速验证以确保 PostgreSQL 服务器已正确运行。

  1. 检查 PostgreSQL 版本:

    • 打开 命令提示符 (在 Windows 搜索栏中输入 cmd 并回车)。
    • 输入命令 psql --version 并按回车键。如果安装成功,您将看到 PostgreSQL 的版本信息。
  2. 连接到数据库:

    • 在同一个命令提示符窗口中,输入 psql -U postgres 并按回车键。
    • 系统会提示您输入 postgres 用户的密码。输入您在安装过程中设置的密码。
    • 如果连接成功,命令提示符将变为 postgres=#。这意味着您已成功连接到 PostgreSQL 服务器。
    • 输入 \q 并按回车键可以退出 psql 客户端。

5. 配置环境变量 (推荐)

为了方便在任何目录下使用 psql 和其他 PostgreSQL 命令行工具,建议将 PostgreSQL 的 bin 目录添加到系统的 PATH 环境变量中。

  1. 右键单击 此电脑 (或 我的电脑),选择 属性
  2. 点击 高级系统设置
  3. 在“系统属性”窗口中,点击 环境变量 按钮。
  4. 在“系统变量”部分,找到并选中 Path 变量,然后点击 编辑
  5. 点击 新建,然后添加 PostgreSQL bin 目录的完整路径。例如:C:\Program Files\PostgreSQL\版本号\bin (将“版本号”替换为您安装的实际版本号,例如 16)。
  6. 点击 确定 关闭所有对话框以保存更改。
  7. 重启命令提示符 才能使环境变量生效。

6. 基本配置 (postgresql.confpg_hba.conf)

PostgreSQL 的核心配置文件通常位于您在安装时指定的数据目录中 (例如 C:\Program Files\PostgreSQL\版本号\data)。主要有两个配置文件需要了解:postgresql.confpg_hba.conf

  • postgresql.conf:服务器配置

    • 这个文件控制着 PostgreSQL 服务器的运行参数。
    • listen_addresses
      • 默认情况下,它可能设置为 localhost,这意味着 PostgreSQL 只监听来自本地的连接。
      • 要允许来自其他 IP 地址的连接,您可以将其修改为 * (监听所有可用网络接口) 或特定的 IP 地址。
        listen_addresses = '*' # 允许所有连接
        # listen_addresses = '192.168.1.100' # 允许特定IP连接
    • port 您也可以在此处修改服务器监听的端口,但通常不需要更改。
    • 还有许多其他参数可用于调整性能、日志记录等,但初次配置通常只需关注 listen_addresses
    • 修改后保存文件。
  • pg_hba.conf:客户端认证配置

    • pg_hba.conf (Host-Based Authentication) 文件控制着哪些客户端可以连接到 PostgreSQL,以及它们必须通过何种认证方式。
    • 该文件包含一系列规则,每条规则定义了允许连接的数据库、用户、客户端 IP 地址范围以及所需的认证方法。
    • 重要规则示例:
      • host all all 127.0.0.1/32 md5
        • 这条规则表示:允许所有数据库 (all)、所有用户 (all) 从本地 IPv4 地址 (127.0.0.1/32) 使用 md5 加密密码进行认证。
      • 如果您将 listen_addresses 设置为 * 并且希望远程机器能够连接,您需要在 pg_hba.conf 中添加相应的规则。例如:
        # 允许特定 IP 地址的远程连接
        host all all 192.168.1.0/24 md5
        # 允许所有 IP 地址的远程连接 (安全性较低,不推荐用于生产环境)
        # host all all 0.0.0.0/0 md5

        • 192.168.1.0/24 表示允许 192.168.1.x 网段的所有 IP 地址连接。
        • md5 是 PostgreSQL 中常用的密码认证方式。
    • 修改后保存文件。

7. 重启PostgreSQL服务

postgresql.confpg_hba.conf 文件所做的任何更改,都必须重启 PostgreSQL 服务才能生效。

  1. 以管理员身份打开命令提示符。
  2. 停止服务:
    • 输入命令 net stop postgresql-x64-版本号 (例如 net stop postgresql-x64-16)。
    • 或者使用 sc stop postgresql-x64-版本号
  3. 启动服务:
    • 输入命令 net start postgresql-x64-版本号 (例如 net start postgresql-x64-16)。
    • 或者使用 sc start postgresql-x64-版本号
    • 您也可以通过 Windows 的“服务”管理器来停止和启动 PostgreSQL 服务。

8. 使用 pgAdmin 4

pgAdmin 4 是一个功能强大的开源图形化管理工具,它提供了一个直观的界面来管理 PostgreSQL 数据库。

  1. 启动 pgAdmin 4:
    • 您可以在 Windows 的“开始菜单”中找到并启动 pgAdmin 4。
    • 首次启动时,您可能需要设置一个主密码,用于保护 pgAdmin 本身的配置。
  2. 注册新的服务器连接:
    • 在 pgAdmin 4 界面的左侧浏览器树中,右键单击“Servers”,然后选择 Register > Server…
    • 在弹出的“Create – Server”窗口中:
      • General (通用) 选项卡:
        • Name (名称): 为您的服务器连接输入一个有意义的名称 (例如 “PostgreSQL Local” 或 “My Development DB”)。
      • Connection (连接) 选项卡:
        • Host name/address (主机名/地址): 对于本地安装,通常是 localhost127.0.0.1。如果您连接到远程服务器,请输入其 IP 地址或域名。
        • Port (端口): 保持默认 5432,除非您在 postgresql.conf 中修改了端口。
        • Maintenance database (维护数据库): 默认为 postgres
        • Username (用户名): 输入 postgres
        • Password (密码): 输入您在安装过程中为 postgres 用户设置的密码。
    • 点击 Save (保存)
  3. 如果连接成功,您将在 pgAdmin 的服务器列表中看到您的 PostgreSQL 服务器。现在您可以通过 pgAdmin 4 管理数据库、创建表、执行 SQL 查询、备份/恢复数据等。

9. 结论

通过遵循上述步骤,您应该能够在 Windows 操作系统上成功安装和配置 PostgreSQL 数据库。从简单的本地开发环境到更复杂的远程部署,PostgreSQL 提供了灵活的配置选项来满足各种需求。熟悉 psql 命令行工具和 pgAdmin 4 图形界面将极大地提高您管理和使用 PostgreSQL 的效率。

滚动至顶部