一、博客前言
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 安装步骤
-
双击
.exe安装包,默认下一步,自定义安装目录(建议无中文、无空格路径) -
核心配置 :设置超级用户
postgres密码(务必牢记) -
端口默认 5432,无需修改,编码选择 UTF-8(避免中文乱码)
-
勾选安装 pgAdmin 4 图形工具,取消无用的 Stack Builder 可选组件
-
完成安装,系统自动创建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 连接数据库步骤
-
打开pgAdmin,右键「Servers」-「Create」-「Server」
-
常规页:自定义服务器名称
-
连接页:主机
localhost、端口5432、用户名postgres、输入安装时设置的密码 -
保存连接,即可可视化管理数据库
八、核心配置与端口说明(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 安装 ,定制化需求使用源码编译,可适配所有业务场景。