一文读懂:Linux 系统中 PostgreSQL 的安装攻略

在当今互联网软件开发的世界里,数据管理至关重要。PostgreSQL 作为一款强大的开源关系型数据库管理系统,以其稳定性、丰富功能和良好的扩展性,深受广大开发人员的青睐。对于使用 Linux 操作系统的互联网软件开发人员而言,掌握在 Linux 上安装 PostgreSQL 的方法,是迈向高效数据管理的关键一步。本文将详细介绍在不同 Linux 发行版上安装 PostgreSQL 的方法及相关注意事项,助您轻松搭建起 PostgreSQL 数据库环境。

安装前的必要准备

系统更新

在安装 PostgreSQL 之前,确保您的 Linux 系统是最新的状态,这一步至关重要。系统更新不仅可以修复已知的安全漏洞,还能避免在安装 PostgreSQL 过程中出现依赖性和兼容性问题。不同的 Linux 发行版,更新系统包的命令有所不同:

Debian/Ubuntu 系统:打开终端,输入以下两条命令:

sudo apt-get update
sudo apt-get upgrade

sudo apt-get update 命令用于更新包管理器的缓存,让系统知晓最新可用的软件包版本信息;sudo apt-get upgrade 则会将已安装的软件包升级到最新版本。

CentOS/RHEL 系统:在终端中执行:

sudo yum update

此命令会自动检查并更新系统中所有可升级的软件包。

Fedora 系统:通过以下命令进行更新:

sudo dnf update

dnf 是 Fedora 系统中新一代的包管理器,功能强大且高效。

openSUSE 系统:使用如下命令更新系统:

sudo zypper update

zypper 是 openSUSE 的包管理工具,能够方便地进行软件包的安装、更新和管理。

安装依赖软件

PostgreSQL 的正常安装和运行依赖于一些其他软件,这些依赖包括开发工具、库文件以及其他系统工具等。安装常见依赖的步骤如下:

基础工具安装

Debian/Ubuntu 系统:在终端输入

sudo apt-get install build-essential libreadline-dev zlib1g-dev

build-essential 软件包提供了编译软件所需的基础工具;libreadline-dev 用于支持命令行编辑功能;zlib1g-dev 则是 zlib 库的开发文件,许多软件在编译时需要它。

CentOS/RHEL 系统:执行以下两条命令

sudo yum groupinstall "Development Tools"
sudo yum install readline-devel zlib-devel

sudo yum groupinstall "Development Tools" 会安装一系列开发工具,如编译器、调试器等;sudo yum install readline-devel zlib-devel 分别安装 readline 和 zlib 库的开发文件。

Fedora 系统:使用

sudo dnf groupinstall "Development Tools"
sudo dnf install readline-devel zlib-devel

与 CentOS/RHEL 系统类似,先安装开发工具组,再安装特定的库开发文件。

openSUSE 系统:输入命令

sudo zypper install -t pattern devel_basis
sudo zypper install readline-devel zlib-devel

特定依赖安装:根据 PostgreSQL 的官方文档,可能还需要安装一些特定的依赖项。此外,如果您需要从其他应用程序连接到 PostgreSQL,例如使用 ODBC 或 JDBC 驱动进行连接,那么还需要安装相应的数据库驱动。在安装依赖时,请务必参考 PostgreSQL 的官方文档,以获取最准确的信息,确保在安装 PostgreSQL 之前,所有必要的依赖都已正确安装,避免在安装过程中出现问题。如果您打算从源代码编译 PostgreSQL,可能还需要安装更多的开发库和工具。

使用包管理器安装 PostgreSQL

Debian/Ubuntu 系统安装

在 Debian 或 Ubuntu 系统上,借助 apt 包管理器安装 PostgreSQL 十分便捷:

更新包列表:打开终端,输入

sudo apt update

此命令会让系统获取最新的软件包列表信息,以便后续安装最新版本的 PostgreSQL。

安装 PostgreSQL:接着执行

sudo apt install postgresql

在安装过程中,系统会提示您选择安装服务器、客户端工具以及其他可选组件。您可以根据自己的需求进行选择,例如,如果您只需要在本地使用 PostgreSQL 进行开发测试,那么安装服务器和基本的客户端工具即可;如果您要搭建一个供多人使用的数据库服务器,可能需要安装更多的组件以满足不同的需求。

设置超级用户密码:安装完成后,系统会提示您设置 postgres 超级用户的密码。这个密码非常重要,它是您管理 PostgreSQL 数据库的关键凭证,请务必设置一个强密码并妥善保管。设置密码后,您就可以使用该超级用户登录 PostgreSQL 进行各种管理操作了。

Red Hat/CentOS 系统安装

在 Red Hat 或 CentOS 系统上,可利用 yum 或 dnf 包管理器来安装 PostgreSQL:

添加 PostgreSQL 仓库(若需):如果系统中尚未添加 PostgreSQL 的官方仓库,需要执行以下命令添加

sudo yum install https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

此命令会下载并安装 PostgreSQL 的仓库配置文件,使系统能够从官方仓库获取 PostgreSQL 相关的软件包。

安装 PostgreSQL:添加完仓库后,执行

sudo yum install postgresql

系统会自动从仓库中下载并安装 PostgreSQL。安装完成后,您还需要启动 PostgreSQL 服务,可使用以下命令

sudo systemctl start postgresql

启动服务后,PostgreSQL 就开始在后台运行,等待接收客户端的连接请求。

设置超级用户密码:与 Debian/Ubuntu 系统不同,在 Red Hat/CentOS 系统上安装 PostgreSQL 后,可能需要手动设置 postgres 超级用户的密码。您可以切换到 postgres 用户,然后使用 psql 命令行工具来设置密码,操作如下

su - postgres
psql
\password

按照提示输入新密码并确认,即可完成超级用户密码的设置。

Fedora 系统安装

在 Fedora 系统上安装 PostgreSQL,主要使用 dnf 包管理器:

安装 PostgreSQL:在终端中输入

sudo dnf install postgresql

dnf 包管理器会自动处理软件包的依赖关系,下载并安装 PostgreSQL 及其相关依赖。

启动服务:安装完成后,需要启动 PostgreSQL 服务,让其运行起来,使用命令

sudo systemctl start postgresql

此时,PostgreSQL 服务已启动,但可能还需要初始化数据库并设置超级用户密码。您可以切换到 postgres 用户,然后执行初始化数据库的命令,例如

su - postgres
/usr/bin/postgresql-initialize-db --auth=md5 --unit=postgresql

这里使用 --auth=md5 参数指定认证方式为 MD5 加密,--unit=postgresql 指定服务单元名称。初始化完成后,再按照前面介绍的设置超级用户密码的方法,为 postgres 超级用户设置密码。

Arch Linux 系统安装

对于 Arch Linux 系统,使用 pacman 包管理器来安装 PostgreSQL:

更新包数据库:在安装之前,先更新系统的包数据库,确保获取到最新的软件包信息,执行命令

sudo pacman -Syu

此命令会同步软件包数据库并升级所有已安装的软件包到最新版本。

安装 PostgreSQL:更新完成后,输入

sudo pacman -S postgresql

pacman 包管理器会自动下载并安装 PostgreSQL 及其依赖。

启动服务:安装完成后,启动 PostgreSQL 服务,使用命令

sudo systemctl start postgresql

与其他系统类似,安装完成后,可能需要根据实际情况进行一些配置调整,例如设置远程访问、调整数据库参数等,以满足具体的使用需求。

安装后的配置与验证

配置文件调整

安装完成 PostgreSQL 后,通常需要对其配置文件进行一些调整,以适应不同的使用场景。主要的配置文件有两个:postgresql.conf 和 pg_hba.conf,它们一般位于 PostgreSQL 的数据目录中,不同系统上数据目录的位置可能略有不同,常见的位置如 /var/lib/pgsql/data 或 /usr/local/pgsql/data 等。

  • postgresql.conf:该文件用于配置 PostgreSQL 服务器的各种参数。例如,如果您希望 PostgreSQL 监听除本地回环地址(localhost)以外的其他 IP 地址,以便远程客户端能够连接,需要修改 listen_addresses 参数。默认情况下,listen_addresses = 'localhost',将其修改为 listen_addresses = '*' 即可监听所有可用的 IP 地址。此外,您还可以根据需要调整 port 参数,更改 PostgreSQL 的监听端口,默认端口是 5432。如果预计有大量客户端连接到 PostgreSQL 服务器,还可以适当调整 max_connections 参数,增加允许的最大并发连接数。
  • pg_hba.conf:此文件用于控制客户端对 PostgreSQL 数据库的认证方式。例如,如果您希望允许某个特定 IP 地址段的客户端通过密码认证方式访问数据库,可以在 pg_hba.conf 文件中添加如下行
host all all 192.168.1.0/24 md5

这行配置表示允许 192.168.1.0 网段下的所有客户端(all 表示所有数据库和所有用户)通过 MD5 加密的密码认证方式访问 PostgreSQL 数据库。您可以根据实际的安全需求,灵活配置不同的认证方式和访问权限。

验证安装

安装并配置完成后,需要验证 PostgreSQL 是否安装成功并能正常运行:

查看版本:在终端中输入

psql -V

如果安装成功,系统会显示 PostgreSQL 的版本信息,例如 psql (PostgreSQL) 14.5,这表明 psql 命令行工具已正确安装,并且可以识别 PostgreSQL 的版本。

尝试连接:使用以下命令尝试连接到 PostgreSQL 服务器

psql -U postgres

这里 -U 参数指定以 postgres 超级用户身份连接。如果连接成功,您将进入 PostgreSQL 的命令行交互界面,提示符会变为 postgres=#,此时您可以在该界面中执行各种 SQL 命令,如创建数据库、创建用户、查询数据等,例如

CREATE DATABASE mydatabase;
CREATE USER myuser WITH PASSWORD 'mypassword';

通过这些操作,可以进一步验证 PostgreSQL 的功能是否正常。

在 Linux 操作系统上安装 PostgreSQL 虽然步骤较多,但只要按照上述详细的步骤,在安装前做好充分准备,安装过程中仔细操作,安装后进行合理配置和验证,就能够顺利搭建起稳定、高效的 PostgreSQL 数据库环境,为您的互联网软件开发项目提供强大的数据管理支持。希望本文能帮助您轻松掌握在 Linux 上安装 PostgreSQL 的技巧,祝您在开发过程中一切顺利!

原文链接:,转发请注明来源!