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 安装 ,定制化需求使用源码编译,可适配所有业务场景。

相关推荐
l1t5 小时前
DeepSeek总结的ALTER FUNCTION SET work_mem:无需全局更改即可修复 PostgreSQL 磁盘溢出
sql·缓存·postgresql
刚入门的大一新生5 小时前
Linux-线程概念
linux·jvm
H.莓飛5 小时前
【数据结构】排序总结与规模实测
linux·服务器·开发语言·数据结构·visual studio·1024程序员节
Zenova EdgeOS6 小时前
Linux 日志实战:用 journalctl 精准检索与治理工业边缘日志
linux·运维·chrome
Dxy12393102166 小时前
Linux 压缩解压相关命令介绍
linux·运维·服务器
eleven_4u6 小时前
QPS如何计算,如何部署架构
java·linux·运维·jvm·中间件
东城居士7 小时前
理解Linux RTC驱动
linux·嵌入式系统
蘑菇小白7 小时前
Linux多线程开发
linux·开发语言·线程
Ruiery7 小时前
Linux 6.6内核内存管理深度解析(十):KSM 同页合并 — 内容去重,把 N 份相同内存合并成 1 份
linux·运维·服务器
Huangjin007_8 小时前
【Linux 系统篇(三十三)】通信(三):System V 共享内存详解
linux·运维·服务器