1-1 PostgreSQL 多平台环境部署:Linux|Docker|Windows|MacOS 完整实操

一、博客前言

PostgreSQL 作为开源、高性能、高可靠的企业级关系型数据库,广泛应用于后端开发、数据分析、物联网、微服务等场景。不同于MySQL,PostgreSQL跨平台兼容性极强,支持 Linux、Windows、MacOS、Docker 全环境部署。

本文为零基础完整实操教程,全覆盖:YUM/APT 包安装、Docker一键部署、源码编译安装、pgAdmin图形化管理、数据库集群初始化、5432端口配置、服务启停、开机自启,所有命令可直接复制执行,解决99%的部署报错问题。

环境说明

  • 默认数据库端口:5432

  • 默认超级用户:postgres

  • 涵盖部署方式:Linux(YUM/APT)、Docker、Windows图形安装、MacOS、源码编译

  • 配套工具:pgAdmin 4 图形化管理工具

二、Linux 平台部署(YUM / APT 包安装)

Linux 是 PostgreSQL 生产环境主流系统,分为 CentOS/RHEL(YUM)、Ubuntu/Debian(APT)两大安装方式,全程自动化配置服务、环境变量与开机自启。

2.1 CentOS / RHEL / RockyLinux(YUM 安装)

步骤1:安装官方YUM源(保证最新版)
bash 复制代码
# 安装依赖
yum install -y wget curl
# 导入PostgreSQL官方YUM源(以16版本为例,稳定企业版)
wget https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
rpm -ivh pgdg-redhat-repo-latest.noarch.rpm
# 禁用系统自带旧版本PostgreSQL
yum -y module disable postgresql
步骤2:安装服务端与客户端
bash 复制代码
yum install -y postgresql16-server postgresql16
步骤3:初始化数据库集群(核心步骤)

首次安装必须初始化,生成数据目录、配置文件、系统表,否则服务无法启动。

bash 复制代码
# 初始化数据库集群
/usr/pgsql-16/bin/postgresql-16-setup initdb
步骤4:服务启停与开机自启
bash 复制代码
# 启动服务
systemctl start postgresql-16
# 停止服务
systemctl stop postgresql-16
# 重启服务
systemctl restart postgresql-16
# 设置开机自启
systemctl enable postgresql-16
# 查看服务状态
systemctl status postgresql-16
步骤5:放行5432端口(防火墙)
java 复制代码
firewall-cmd --permanent --add-port=5432/tcp
firewall-cmd --reload

2.2 Ubuntu / Debian(APT 安装)

步骤1:更新源并安装依赖
bash 复制代码
sudo apt update && sudo apt upgrade -y
sudo apt install -y apt-transport-https ca-certificates curl gnupg2
步骤2:导入官方密钥与源
bash 复制代码
sudo apt update
sudo apt install -y postgresql-16 postgresql-client-16
步骤3:安装PostgreSQL
bash 复制代码
sudo apt update
sudo apt install -y postgresql-16 postgresql-client-16
步骤4:服务管理(Ubuntu默认自动初始化集群)
bash 复制代码
# 启停、重启、自启
sudo systemctl start postgresql
sudo systemctl stop postgresql
sudo systemctl enable postgresql
# 查看状态
sudo systemctl status postgresql

三、Docker 一键部署(极简生产/测试环境)

Docker 部署无需配置环境、无需初始化集群、无需适配系统,跨平台通用,适合快速搭建测试环境、容器化项目部署,一键开箱即用。

3.1 前置条件

服务器/本地已安装 Docker、Docker Compose

3.2 一键部署命令

bash 复制代码
# 拉取官方PostgreSQL镜像(16稳定版)
docker pull postgres:16

# 启动容器(核心一键部署,永久后台运行)
docker run -d \
--name postgres16 \
--restart always \
-p 5432:5432 \
-e POSTGRES_USER=postgres \
-e POSTGRES_PASSWORD=123456 \
-e POSTGRES_DB=testdb \
-v /data/postgres:/var/lib/postgresql/data \
postgres:16

3.3 命令参数详解

  • --restart always:容器开机自启、Docker重启自动恢复

  • -p 5432:5432:端口映射,宿主机5432绑定容器5432(默认端口)

  • POSTGRES_PASSWORD:数据库超级密码(自定义修改)

  • -v:数据持久化挂载,防止容器删除数据丢失

3.4 Docker 容器常用操作

bash 复制代码
# 查看运行容器
docker ps
# 进入数据库终端
docker exec -it postgres16 psql -U postgres
# 停止容器
docker stop postgres16
# 重启容器
docker restart postgres16

四、Windows 平台图形化部署

Windows 适合本地开发调试,官方安装包自带pgAdmin4图形工具、环境变量、系统服务,全程可视化操作,无需命令行配置。

4.1 下载安装包

官网下载:https://www.postgresql.org/download/windows/,选择对应系统位数的 16 版本安装包

4.2 安装步骤

  1. 双击 .exe 安装包,默认下一步,自定义安装目录(建议无中文、无空格路径)

  2. 核心配置 :设置超级用户 postgres 密码(务必牢记)

  3. 端口默认 5432,无需修改,编码选择 UTF-8(避免中文乱码)

  4. 勾选安装 pgAdmin 4 图形工具,取消无用的 Stack Builder 可选组件

  5. 完成安装,系统自动创建Windows服务,默认开机自启

4.3 Windows 服务启停

方式1:服务面板运行 services.msc,找到 PostgreSQL 服务手动启停

方式2:命令行(管理员权限)

bash 复制代码
net start postgresql-x64-16
net stop postgresql-x64-16

五、MacOS 平台部署(Homebrew 极简安装)

MacOS 开发首选 Homebrew 安装,命令极简,自动配置环境变量与服务,适配Mac所有版本。

5.1 前置条件

已安装 Homebrew,未安装则先执行:/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

5.2 安装与初始化

bash 复制代码
# 更新brew源
brew update
# 安装PostgreSQL
brew install postgresql@16

# 启动服务
brew services start postgresql@16
# 停止服务
brew services stop postgresql@16
# 开机自启
brew services enable postgresql@16

5.3 验证登录

bash 复制代码
psql postgres

六、源码编译安装(全平台通用,自定义版本)

源码编译适合需要自定义编译参数、指定版本、深度定制的生产场景,全Linux/MacOS通用,自由度最高。

6.1 安装依赖

bash 复制代码
# CentOS/RHEL
yum install -y gcc gcc-c++ make readline-devel zlib-devel

# Ubuntu/Debian
apt install -y gcc make libreadline-dev zlib1g-dev

6.2 下载源码并编译

bash 复制代码
# 下载源码包
wget https://ftp.postgresql.org/pub/source/v16.3/postgresql-16.3.tar.gz
# 解压
tar -zxvf postgresql-16.3.tar.gz
cd postgresql-16.3

# 配置编译参数(指定安装目录)
./configure --prefix=/usr/local/postgresql16

# 编译 && 安装
make && make install

6.3 环境变量配置

bash 复制代码
echo 'export PATH=$PATH:/usr/local/postgresql16/bin' >> /etc/profile
source /etc/profile
# 验证版本
psql --version

七、pgAdmin 4 图形化工具使用(全平台通用)

pgAdmin 是 PostgreSQL 官方图形化管理工具,支持可视化建库、建表、查询、备份、监控,替代命令行操作。

7.1 启动方式

  • Windows:安装后自动创建快捷方式,直接打开

  • Linux/MacOS:浏览器访问默认地址,或命令行启动

  • Docker:可单独部署pgAdmin容器,关联PostgreSQL服务

7.2 连接数据库步骤

  1. 打开pgAdmin,右键「Servers」-「Create」-「Server」

  2. 常规页:自定义服务器名称

  3. 连接页:主机 localhost、端口 5432、用户名 postgres、输入安装时设置的密码

  4. 保存连接,即可可视化管理数据库

八、核心配置与端口说明(5432)

8.1 默认端口

PostgreSQL 默认通信端口:5432 ,如需修改,编辑配置文件 postgresql.conf

bash 复制代码
port = 5432 # 修改后重启服务生效

8.2 远程连接配置

1、修改 postgresql.conf,开启所有IP监听

bash 复制代码
listen_addresses = '*'

2、修改 pg_hba.conf,允许所有IP连接

java 复制代码
host  all  all  0.0.0.0/0  scram-sha-256

3、重启数据库服务即可远程连接

九、常见问题总结

  • 服务启动失败:多为未初始化数据库集群、数据目录权限不足、5432端口被占用

  • 远程连接失败:防火墙未放行、监听地址未开启、pg_hba权限未配置

  • Docker数据丢失:未配置-v数据挂载,务必持久化存储

  • 中文乱码:安装时指定UTF-8编码,数据库创建时指定encoding=UTF8

十、总结

本文完整覆盖 PostgreSQLLinux(YUM/APT)、Docker、Windows、MacOS、源码编译五大部署方式,手把手实现数据库集群初始化、5432端口配置、服务启停、开机自启、pgAdmin图形化管理。

日常开发优先使用 Windows/MacOS 可视化安装 ,测试环境优先 Docker一键部署 ,生产环境优先 Linux YUM/APT 安装 ,定制化需求使用源码编译,可适配所有业务场景。

相关推荐
流星白龙1 小时前
【Docker】13.容器基本操作实战
运维·docker·容器
还卿一钵无情泪11 小时前
Unsloth 微调 构建自己的大模型 没有GPU也能微调
linux·开发语言·人工智能·python·大模型·nlp·unsloth
高山有多高11 小时前
【Linux笔记】IO模型
linux
不会就选b11 小时前
Linux之TCP理论<1>
linux·运维·服务器
小π军12 小时前
操作系统面试题
java·linux·服务器
Lsetea13 小时前
curl用IP测试HTTPS报证书不匹配:--resolve与Host头别混用
linux·https·ssl证书·openssl·curl
Hao28513 小时前
Windows11 下把 WSL2 Ubuntu 26.04 装到 D 盘完整
linux
Android系统攻城狮14 小时前
Linux Gstreamer深度解析之gst_audio_encoder_get_frame_samples_min调用流程与实战(六十)
linux·运维·服务器·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
_upupup14 小时前
Linux中的自动化构建——make/Makefile
linux·运维·自动化