PostgreSQL 下载安装完全指南 – wiki基地


PostgreSQL 下载安装完全指南:从入门到精通

PostgreSQL,通常简称为 Postgres,是一款功能强大、开源、免费、高级的对象关系型数据库系统。它以其稳定性、强大的特性集、严格的标准兼容性以及高度的可扩展性而闻名,被广泛应用于各种规模的应用、数据仓库和Web服务中。

对于初学者或需要部署 PostgreSQL 的用户来说,如何正确、顺利地完成下载和安装是第一步。本指南将为您提供一个全面、详细的步骤,覆盖主流操作系统(Windows、macOS、Linux),帮助您轻松完成 PostgreSQL 的安装过程。

1. 准备工作:开始之前

在开始下载和安装 PostgreSQL 之前,请确保您已经具备以下条件:

  1. 操作系统环境: 确定您将在哪个操作系统上安装 PostgreSQL。本指南将覆盖 Windows、macOS 和 Linux(以 Debian/Ubuntu 和 RHEL/CentOS/Fedora 为例)。
  2. 系统要求: 确保您的系统满足 PostgreSQL 版本的最低硬件和软件要求。虽然 PostgreSQL 通常对资源要求不高,但最好查阅您打算安装版本的官方文档以获取准确信息。
  3. 管理员权限: 您需要具有在目标系统上安装软件和修改系统配置(例如,服务、环境变量)的管理员或 root 权限。
  4. 稳定的网络连接: 下载安装文件或使用包管理器都需要稳定的互联网连接。
  5. 选择版本: PostgreSQL 社区定期发布新版本,包括主版本(如 14, 15, 16)和小版本(bug 修复和安全更新)。通常建议安装最新的稳定主版本或前一个稳定主版本,以便获得最新的功能和最佳的社区支持。您可以在 PostgreSQL 官方网站找到各版本的支持周期和发布信息。
  6. 数据存储位置: 规划好 PostgreSQL 数据文件的存放位置。默认情况下,安装程序会指定一个位置,但在生产环境中,您可能希望将数据存储在单独的、性能更好的磁盘分区上。

2. 选择下载方式

PostgreSQL 的下载方式有多种,您可以根据您的操作系统和偏好选择最合适的方式:

  1. 官方下载页面 (Recommended for Windows/macOS Graphical Installer): 这是最直接的方式,您可以从 PostgreSQL 官方网站 获取针对不同操作系统的安装程序或源代码。对于 Windows 和 macOS 用户,通常推荐下载官方提供的图形化安装程序,它包含了数据库服务器、命令行工具、图形化管理工具 pgAdmin 以及 Stack Builder(一个用于下载和安装额外工具、驱动和扩展的程序)。
  2. 包管理器 (Recommended for Linux/macOS Homebrew): 在 Linux 和 macOS 上,使用系统自带或第三方包管理器(如 apt for Debian/Ubuntu, yum/dnf for RHEL/CentOS/Fedora, Homebrew for macOS)安装 PostgreSQL 是最便捷的方式。包管理器会自动处理依赖关系,简化安装和后续的更新过程。这是 Linux 用户的首选方法,也是 macOS 开发者的热门选择。
  3. 源代码编译: 对于有特殊需求的用户,也可以下载 PostgreSQL 的源代码,然后根据官方文档进行编译安装。这提供了最大的灵活性,但也需要更多的技术知识和时间。
  4. 第三方发行版: 有些公司提供增强版的 PostgreSQL 发行版,例如 EnterpriseDB (EDB)。这些发行版可能包含额外的工具、企业级特性或商业支持。如果您有这些需求,可以考虑。

本指南将主要介绍通过官方下载页面获取图形化安装程序(适用于 Windows 和 macOS)以及使用包管理器(适用于 macOS 和 Linux)进行安装的方法,因为它们是大多数用户的常用选择。

3. 下载安装文件或准备包管理器

3.1 通过官方网站下载安装程序

访问 PostgreSQL 官方下载页面

  • 选择您的操作系统: 点击对应的操作系统图标(Linux, macOS, Windows, BSD, Solaris)。
  • 选择下载方式:
    • 对于 Windows,点击 “Download the installer”。您将被重定向到 EDB 的下载页面(EDB 为 PostgreSQL 社区提供 Windows 安装程序的托管服务)。选择您需要的 PostgreSQL 版本以及对应的 Windows 位数(32位或64位),然后点击下载链接。
    • 对于 macOS,也可以点击 “Download the installer”。同样会重定向到 EDB 的页面。选择合适的版本下载 .dmg 文件。或者,您可以考虑使用 Homebrew(见下文)。
    • 对于 Linux,官方页面提供了通过包管理器安装的详细说明,这是推荐的方式。

下载的安装文件通常是 .exe (Windows) 或 .dmg (macOS)。

3.2 使用包管理器 (macOS & Linux)

3.2.1 macOS (使用 Homebrew)

Homebrew 是 macOS 上流行的包管理器。如果您尚未安装 Homebrew,请访问其官方网站 https://brew.sh/ 按照说明进行安装。

安装 Homebrew 后,打开终端并运行以下命令来安装 PostgreSQL:

bash
brew update # 更新 Homebrew
brew install postgresql # 安装最新版本的 PostgreSQL

Homebrew 会自动下载并安装 PostgreSQL 及其依赖。

3.2.2 Linux (使用系统包管理器)

大多数 Linux 发行版在其官方软件仓库中包含了 PostgreSQL。这是最推荐的安装方法,因为它能确保与系统的兼容性,并简化后续的更新。

注意: 通过发行版仓库安装的 PostgreSQL 版本可能不是最新的主版本,但通常是稳定且经过测试的版本。如果需要安装特定或最新的版本,PostgreSQL 官方提供了针对主要发行版的额外软件仓库。请查阅 PostgreSQL 官方下载页面 获取针对您的发行版的详细仓库添加和安装指令。

以下是针对几种常见 Linux 发行版的安装命令示例:

  • Debian / Ubuntu:

    “`bash
    sudo apt update # 更新软件包列表

    安装最新稳定版本(通常是发行版仓库提供的版本)

    sudo apt install postgresql postgresql-contrib

    如果需要安装特定版本(例如 PostgreSQL 16),需要先添加官方仓库

    例如,针对 Ubuntu 22.04:

    curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg –dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg

    echo “deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main” | sudo tee /etc/apt/sources.list.d/postgresql.list

    sudo apt update

    sudo apt install postgresql-16 postgresql-client-16 postgresql-contrib-16

    ``postgresql-contrib` 包包含了一些有用的扩展和工具。

  • RHEL / CentOS / Fedora:

    “`bash
    sudo dnf update # 或 sudo yum update (CentOS/RHEL 7 及更早版本)

    安装最新稳定版本(通常是发行版仓库提供的版本)

    sudo dnf install postgresql-server postgresql-contrib

    或 sudo yum install postgresql-server postgresql-contrib (CentOS/RHEL 7 及更早版本)

    如果需要安装特定版本(例如 PostgreSQL 16),需要先启用或添加官方仓库

    例如,在 RHEL/CentOS Stream 8/9 或 Fedora:

    sudo dnf install pgdg-centos-repo # 或 pgdg-fedora-repo

    sudo dnf install postgresql16-server postgresql16-contrib

    “`

4. 执行安装过程

下载完安装程序或准备好包管理器后,即可开始安装。

4.1 Windows 安装 (图形化安装程序)

找到下载的 .exe 文件,双击运行。如果出现用户账户控制提示,请允许。

安装向导步骤如下:

  1. Welcome (欢迎): 点击 “Next >”。
  2. Installation Directory (安装目录): 选择 PostgreSQL 的安装路径。建议使用默认路径,除非您有特定的安装需求。确保目标文件夹有足够的空间。点击 “Next >”。
  3. Select Components (选择组件): 这是重要的一步。您可以选择要安装的组件:
    • PostgreSQL Server: 必需项,这是数据库服务器本身。
    • pgAdmin 4: 图形化管理工具,强烈建议安装,方便数据库管理和查询。
    • Stack Builder: 一个辅助工具,用于下载和安装额外的驱动程序、扩展、复制工具等。建议安装,以备后续使用。
    • Command Line Tools: 包含 psql、pg_dump、pg_restore 等命令行工具,对于管理和脚本化操作非常有用。强烈建议安装。
      根据您的需求选择组件,然后点击 “Next >”。
  4. Data Directory (数据目录): 选择存储数据库文件的目录。这是数据库实际存储数据的地方。建议选择一个独立的分区或磁盘,以便于管理和备份。确保该目录有足够的写入权限。点击 “Next >”。
  5. Password for superuser (超级用户密码): 非常重要! 设置数据库超级用户 postgres 的密码。这个用户拥有数据库的所有权限。请设置一个强密码并牢记。这是您第一次连接数据库时需要使用的密码。点击 “Next >”。
  6. Port (端口): 设置数据库服务器监听的端口号。默认端口是 5432。如果端口被占用或您有特定需求,可以更改。通常保持默认即可。点击 “Next >”。
  7. Locale (区域设置): 选择数据库的区域设置。它影响数据的排序规则、字符集等。通常建议选择与操作系统一致的区域设置,或者选择 Default locale。在国际化应用中,选择 Cen_US.UTF-8 可能是更好的选择。点击 “Next >”。
  8. Pre Installation Summary (安装前摘要): 查看您选择的安装选项摘要,确认无误后点击 “Next >”。
  9. Ready to Install (准备安装): 安装程序现在准备开始安装。点击 “Next >”。
  10. Installing (安装中): 安装过程开始,请耐心等待。
  11. Completing the PostgreSQL Setup Wizard (完成安装向导): 安装完成后,向导会提示您是否启动 Stack Builder。如果您之前选择了安装 Stack Builder,并且希望安装额外的驱动或工具,可以勾选此选项。点击 “Finish”。

4.2 macOS 安装

4.2.1 图形化安装程序 (.dmg 文件)

双击下载的 .dmg 文件,它会挂载为一个虚拟磁盘。打开该虚拟磁盘,您会看到安装包。双击安装包(通常是 postgresql-x.y-z-osx.pkg)。

安装向导步骤与 Windows 类似,会引导您选择安装位置、组件(通常包含服务器、命令行工具、Stack Builder 和 pgAdmin)、设置数据目录和超级用户密码。请按照向导提示完成安装。

4.2.2 Homebrew 安装

使用 Homebrew 安装后,PostgreSQL 服务器默认不会自动启动。您需要手动启动它:

bash
brew services start postgresql

或者,如果您不希望它随系统启动,只想临时启动:

bash
pg_ctl -D /usr/local/var/postgres start # Homebrew 默认数据目录

Homebrew 安装的 PostgreSQL 用户是您当前登录的 macOS 用户。首次使用前,通常需要初始化数据库集群(虽然 Homebrew 的安装脚本通常会做这步,但了解一下没有坏处):

“`bash

这步通常由 Homebrew 安装自动完成

initdb /usr/local/var/postgres -E utf8

“`

为了安全起见,并且能够远程连接(如果需要),或者创建其他数据库用户,您可能需要修改默认配置。

4.3 Linux 安装 (包管理器)

使用包管理器安装通常会自动处理大部分配置,但有一些后续步骤是必须的。

  1. 初始化数据库集群: 在某些发行版上(尤其是 RHEL/CentOS/Fedora),安装包可能不会自动初始化数据库存储区域。您需要手动执行此操作。

    • RHEL/CentOS/Fedora (较新版本使用 dnf/yum):
      bash
      sudo postgresql-setup --initdb
      # 对于一些旧版本或特定配置,可能需要手动切换到 postgres 用户执行 initdb
      # sudo -u postgres /usr/bin/initdb -D /var/lib/pgsql/data
    • Debian/Ubuntu: 通常 apt install 会自动初始化数据库集群 (pg_createcluster)。您可以检查 /var/lib/postgresql/ 目录确认。
  2. 启动 PostgreSQL 服务: 安装完成后,确保 PostgreSQL 服务正在运行并设置为开机启动。

    • 使用 systemd (大多数现代 Linux 发行版):
      bash
      sudo systemctl start postgresql # 启动服务
      sudo systemctl enable postgresql # 设置开机启动
      sudo systemctl status postgresql # 检查服务状态
    • 使用 SysVinit (较旧的系统):
      bash
      sudo service postgresql start # 启动服务
      sudo chkconfig postgresql on # 设置开机启动 (RHEL/CentOS)
      # 或 sudo update-rc.d postgresql enable (Debian/Ubuntu)
      sudo service postgresql status # 检查服务状态
  3. 配置客户端认证 (pg_hba.conf): 这是 Linux 上安装 PostgreSQL 后最重要的配置步骤之一。pg_hba.conf 文件控制哪些主机、用户和数据库可以通过何种方式连接到 PostgreSQL 服务器。

    • 找到 pg_hba.conf 文件。其位置取决于您的发行版和 PostgreSQL 版本,常见路径有:
      • /etc/postgresql/X.Y/main/pg_hba.conf (Debian/Ubuntu)
      • /var/lib/pgsql/data/pg_hba.conf (RHEL/CentOS/Fedora)
    • 使用文本编辑器(如 nano 或 vim)以 root 权限打开该文件进行修改。
    • 文件中的每一行代表一条访问规则。默认配置通常只允许本地连接(使用 peerident 认证,这依赖于系统用户)。
    • 重要:
      • 为了允许本地用户 postgres(系统用户)通过 psql 命令连接数据库,通常会有一行类似 local all postgres peerlocal all all peer 的配置。
      • 为了允许本地通过 TCP/IP 连接(例如,使用 pgAdmin 或本地应用),您可能需要添加或修改一行。例如,允许本地所有用户通过 md5 密码认证连接所有数据库:
        host all all 127.0.0.1/32 md5
      • 如果您需要从其他机器远程连接到 PostgreSQL 服务器,您需要添加对应 IP 地址范围的规则,并将认证方法设置为 md5 或更安全的 scram-sha-256。例如,允许从 IP 地址为 192.168.1.100 的机器连接:
        host all all 192.168.1.100/32 scram-sha-256
      • 警告: 不要将任何地址的认证方法设置为 trust (信任),这允许任何人无需密码连接,非常不安全,只应在非常受控的开发环境中谨慎使用。
    • 修改后,保存文件。
    • 重新加载配置: 修改 pg_hba.conf 后,需要重新加载 PostgreSQL 配置使更改生效(无需重启服务):
      bash
      sudo systemctl reload postgresql # 或 sudo service postgresql reload
  4. 配置监听地址 (postgresql.conf): 默认情况下,PostgreSQL 可能只监听本地回环地址 (localhost127.0.0.1)。如果需要从其他机器远程连接,您需要修改 postgresql.conf 文件。

    • 找到 postgresql.conf 文件,通常与 pg_hba.conf 在同一目录下。
    • 使用文本编辑器以 root 权限打开该文件。
    • 找到 listen_addresses 配置项。取消注释并修改其值:
      • listen_addresses = 'localhost' (只监听本地连接)
      • listen_addresses = '*' (监听所有网络接口,允许远程连接)
      • listen_addresses = 'localhost,192.168.1.101' (监听本地和指定 IP 地址)
    • 修改后,保存文件。
    • 重启服务: 修改 postgresql.conf 后,需要重启 PostgreSQL 服务使更改生效:
      bash
      sudo systemctl restart postgresql # 或 sudo service postgresql restart

5. 安装后的验证与基本使用

安装完成后,您应该验证 PostgreSQL 是否正常运行,并学习一些基本的连接和使用方法。

  1. 使用 pgAdmin (图形化工具):

    • 如果您在 Windows 或 macOS 上通过图形化安装程序安装了 pgAdmin,可以在应用程序列表中找到并打开它。
    • 首次打开 pgAdmin 时,可能会要求您设置一个主密码(这是 pgAdmin 自身的密码,用于保护存储的服务器连接信息,不是数据库密码)。
    • 在 pgAdmin 左侧的浏览器面板中,右键点击 “Servers”,选择 “Create” -> “Server…”。
    • 在 “General” 选项卡中输入一个连接名称(如 “My PostgreSQL”)。
    • 在 “Connection” 选项卡中填写连接信息:
      • Host name/address: 如果是本地连接,填写 localhost127.0.0.1。如果是远程连接,填写服务器的 IP 地址或主机名。
      • Port: 保持默认 5432 或填写您安装时设置的端口。
      • Maintenance database: postgres (默认的管理数据库)。
      • Username: postgres (默认的超级用户)。
      • Password: 输入您在安装过程中为 postgres 用户设置的密码。
    • 点击 “Save”。如果连接信息正确且服务器正在运行并允许连接,您应该能在 pgAdmin 中看到新建的服务器连接,并展开查看数据库、表等对象。
  2. 使用 psql (命令行工具):

    • psql 是 PostgreSQL 官方提供的命令行客户端工具,非常强大。
    • Windows: 打开命令提示符或 PowerShell。如果安装时勾选了添加环境变量,可以直接运行 psql。否则,您需要导航到 PostgreSQL 安装目录下的 bin 文件夹(例如 C:\Program Files\PostgreSQL\X.Y\bin)或将该目录添加到系统的 PATH 环境变量中。
    • macOS (Homebrew): 打开终端,直接运行 psql
    • Linux: 打开终端。如果您是使用 postgres 系统用户登录(不常见),可以直接运行 psql。通常您是普通用户,需要切换到 postgres 用户来运行 psql 连接本地数据库:
      bash
      sudo -u postgres psql

      或者,以当前用户连接到本地 postgres 数据库:
      bash
      psql -h localhost -U postgres -d postgres

      系统会提示您输入 postgres 用户的密码。
    • 成功连接后,您会看到类似 postgres=# 的提示符。您可以输入 SQL 命令,例如 SELECT version(); 查看版本,输入 \l 列出所有数据库,输入 \q 退出 psql。
  3. 创建新数据库和用户:

    • 以超级用户(postgres)连接后,您可以使用 SQL 命令创建新的数据库和用户,这是生产环境中推荐的做法,避免直接使用超级用户进行日常操作。
    • 创建新用户:
      sql
      CREATE USER myuser WITH PASSWORD 'mypassword';

      (将 myusermypassword 替换为您自己的用户名和密码)
    • 创建新数据库并指定所有者:
      sql
      CREATE DATABASE mydatabase OWNER myuser;

      (将 mydatabase 替换为您自己的数据库名)
    • 授予用户对数据库的权限:
      sql
      GRANT ALL PRIVILEGES ON DATABASE mydatabase TO myuser;
    • 退出 psql (\q),然后尝试使用新用户和数据库连接:
      bash
      psql -h localhost -U myuser -d mydatabase

6. 常见问题与故障排除

  • 连接拒绝 (Connection refused):
    • 检查 PostgreSQL 服务是否正在运行 (systemctl status postgresql 或服务管理器)。
    • 检查防火墙设置,确保允许通过 PostgreSQL 端口(默认 5432)的连接。
    • 在 Linux 上,检查 postgresql.conf 中的 listen_addresses 是否配置正确,允许来自客户端 IP 的连接。
    • 在 Linux 上,检查 pg_hba.conf 是否有允许客户端 IP、用户、数据库和认证方法的规则。修改后需要重新加载配置 (pg_ctl reloadsystemctl reload postgresql)。
  • 密码认证失败 (password authentication failed):
    • 确保您输入的密码是正确的超级用户密码。
    • 在 Linux 上,检查 pg_hba.conf 中对应连接规则的认证方法是否与您实际使用的认证方式匹配(例如,如果配置是 md5,您必须提供密码)。
  • command not found: psql:
    • 在 Windows 上,确保 PostgreSQL 的 bin 目录已经添加到系统 PATH 环境变量中,或者您正在该目录下运行命令。
    • 在 Linux/macOS 上,确认 PostgreSQL 的 bin 目录(通常在 /usr/local/bin//usr/pgsql-X.Y/bin//usr/lib/postgresql/X.Y/bin/ 等)在您的 shell PATH 中。
  • 初始化数据库失败 (Linux):
    • 确保您以具有足够权限的用户(通常是 rootpostgres 系统用户)执行初始化命令。
    • 检查数据目录是否有足够的磁盘空间和正确的写入权限。
  • Locale 问题: 如果在创建数据库时遇到区域设置错误,可能需要确保系统已经安装并支持您选择的区域设置。在 Linux 上,可以使用 locale -a 查看支持的区域设置。

7. 后续步骤

成功安装 PostgreSQL 只是第一步。接下来您可以:

  • 深入学习 SQL 语言,以便与数据库交互。
  • 学习 PostgreSQL 特定的命令和工具(如 pg_dump, pg_restore, vacuumdb)。
  • 了解 PostgreSQL 的架构和配置参数 (postgresql.conf),以进行性能调优。
  • 研究 PostgreSQL 的扩展(Extensions),例如 PostGIS(地理信息系统支持)。
  • 学习数据库备份和恢复策略。
  • 了解用户管理和权限控制。

结论

PostgreSQL 的下载和安装过程在不同操作系统上略有差异,但遵循官方推荐的方式(图形化安装程序在 Windows/macOS,包管理器在 Linux/macOS)通常是最简单有效的方法。关键在于仔细阅读安装向导的提示,正确设置超级用户密码、数据目录,并在 Linux 环境下特别注意 pg_hba.confpostgresql.conf 这两个核心配置文件,它们决定了数据库的安全性和可访问性。

通过本指南的详细步骤,希望您能够顺利完成 PostgreSQL 的安装,并迈出掌握这一强大数据库系统的第一步。如果在安装过程中遇到任何问题,请查阅官方文档或在社区论坛寻求帮助,PostgreSQL 社区非常活跃且乐于助人。祝您使用愉快!


发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注

滚动至顶部