postgresql 完整教程:万字详解 PostgreSQL 的详细安装方式(Linux、Windows、macOS、Docker 全平台覆盖)
postgresql 完整教程:万字详解 PostgreSQL 的详细安装方式(Linux、Windows、macOS、Docker 全平台覆盖)
本文将全面、系统、深入地讲解 在 Linux(/)、、macOS 以及 容器 四大主流环境下的详细安装步骤postgresql 完整教程:万字详解 PostgreSQL 的详细安装方式(Linux、Windows、macOS、Docker 全平台覆盖),涵盖官方仓库、包管理器、图形化安装程序、容器化部署等多种方式,并附带初始化配置、服务管理、安全加固等关键实践。
一、安装前准备:通用原则与注意事项
在具体操作前,需明确以下通用原则:
1.1 版本选择1.2 权限要求1.3 端口与防火墙1.4 存储路径建议预留足够磁盘空间(至少 1GB 起)。二、Linux 系统安装
Linux 发行版众多,本文以 ( 系) 和 /Rocky Linux(RHEL 系) 为代表。
2.1 / 安装(推荐使用官方 APT 仓库)
优势:自动更新、版本丰富、集成 服务。
步骤 1:添加官方 APT 仓库
# 导入 GPG 密钥
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
# 添加仓库(以 Ubuntu 22.04 + PostgreSQL 16 为例)
echo "deb http://apt.postgresql.org/pub/repos/apt/ $(lsb_release -cs)-pgdg main" | sudo tee /etc/apt/sources.list.d/pgdg.list
# 更新包索引
sudo apt update
注意:$( -cs) 自动获取发行版代号(如 jammy、focal)。若为非标准系统,可手动替换。
步骤 2:安装
# 安装客户端、服务器及 contrib 扩展(含 pg_stat_statements 等)
sudo apt install postgresql-16 postgresql-client-16 postgresql-contrib-16
步骤 3:验证安装
# 检查服务状态
sudo systemctl status postgresql@16-main
# 切换到 postgres 用户并进入 psql
sudo -u postgres psql -c "SELECT version();"
步骤 4:初始化与配置(通常自动完成)
安全提示:默认仅允许本地 peer 认证,无需密码即可登录(通过 sudo -u )。
2.2 / Rocky Linux / 安装(使用官方 YUM 仓库)
适用于 RHEL 7/8/9 及其衍生版。
步骤 1:添加官方 YUM 仓库
# 下载并安装仓库 RPM(以 Rocky Linux 9 + PG16 为例)
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 禁用内置 postgresql 模块(避免冲突)
sudo dnf -qy module disable postgresql
步骤 2:安装
sudo dnf install -y postgresql16-server postgresql16-contrib
步骤 3:初始化数据库集群
# 首次安装需手动初始化
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
# 启动并设置开机自启
sudo systemctl enable --now postgresql-16
步骤 4:验证
sudo -u postgres psql -c "SELECT current_database();"
提示:数据目录为 /var/lib/pgsql/16/data。
2.3 从源码编译安装(高级用户)
适用于需要定制编译选项(如启用 ICU、LDAP、SSL)或最新开发版。
# 安装依赖
sudo apt install build-essential zlib1g-dev libreadline-dev flex bison libssl-dev
# 下载源码(以 16.1 为例)
wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.gz
tar -xzf postgresql-16.1.tar.gz
cd postgresql-16.1
# 配置编译选项
./configure --prefix=/usr/local/pgsql --with-openssl --enable-thread-safety
# 编译与安装
make -j$(nproc)
sudo make install
# 创建用户与数据目录
sudo useradd -r -s /bin/false postgres
sudo mkdir /usr/local/pgsql/data
sudo chown postgres:postgres /usr/local/pgsql/data
# 初始化
sudo -u postgres /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data
# 启动
sudo -u postgres /usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data start
注意:源码安装需手动管理服务、PATH 环境变量等。
三、 系统安装
提供图形化安装程序,适合桌面开发。
3.1 下载安装程序3.2 图形化安装步骤运行安装程序(如 -16.1-1–x64.exe)选择安装目录(默认 C: Files\16)设置数据目录(默认 C: Files\16data)设置超级用户密码(务必牢记!此为 用户密码)选择端口(默认 5432postgresql,若冲突可修改)选择区域()(建议 UTF8,避免中文乱码)安装组件: 开始安装 → 等待完成3.3 验证安装3.4 服务管理

安全建议:生产环境中应限制远程访问,修改默认密码策略。
四、macOS 系统安装
macOS 开发者常用 或 .app。
4.1 使用 (推荐)
优势:命令行友好、易于更新、与开发工具链集成。
步骤 1:安装 (若未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
步骤 2:安装
# 安装最新版
brew install postgresql@16
# 启动服务(后台常驻)
brew services start postgresql@16
提示:Apple (M1/M2)芯片路径为 /opt/postgresql 完整教程:万字详解 PostgreSQL 的详细安装方式(Linux、Windows、macOS、Docker 全平台覆盖),Intel 为 /usr/local。
步骤 3:验证
# 默认无需密码(peer 认证)
psql postgres
# 或创建数据库
createdb mydb
psql mydb
步骤 4:常用命令
brew services list # 查看服务状态
brew info postgresql@16 # 查看配置信息
psql -l # 列出数据库
数据目录:$(brew –)/var/@16
4.2 使用 .app(图形化首选)
适合不喜欢命令行的 macOS 用户。
访问 下载并拖拽到 文件夹首次启动点击 “” 创建服务器自动配置 PATH,终端可直接使用 psql菜单栏图标可快速启停、查看日志、打开 psql
优点:零配置、一键启停、多版本共存、集成 。
五、 容器化安装
容器化部署适合开发、测试、CI/CD 及微服务架构。
5.1 拉取官方镜像
docker pull postgres:16
5.2 快速启动(临时容器)
docker run --name mypg -e POSTGRES_PASSWORD=mypassword -p 5432:5432 -d postgres:16
5.3 持久化数据(生产推荐)
# 创建卷
docker volume create pgdata
# 启动容器并挂载卷
docker run --name mypg
-e POSTGRES_PASSWORD=mypassword
-e POSTGRES_DB=myapp
-v pgdata:/var/lib/postgresql/data
-p 5432:5432
-d postgres:16
优势:数据不随容器销毁而丢失。
5.4 自定义配置
可通过挂载配置文件覆盖默认设置:
# 创建自定义 postgresql.conf
echo "shared_preload_libraries = 'pg_stat_statements'" > ./my-postgres.conf
# 启动时挂载
docker run ... -v $(pwd)/my-postgres.conf:/etc/postgresql/postgresql.conf ...
或使用 脚本初始化:
# 准备 init.sql
echo "CREATE USER appuser WITH PASSWORD 'apppass';" > init.sql
# 挂载到 docker-entrypoint-initdb.d
docker run ... -v $(pwd)/init.sql:/docker-entrypoint-initdb.d/init.sql ...
官方镜像会在首次启动时执行 /–.d/ 下的 .sql 或 .sh 脚本。
5.5 连接容器内数据库
# 进入容器执行 psql
docker exec -it mypg psql -U postgres
# 或从宿主机连接
psql -h localhost -U postgres -d postgres

六、安装后关键配置与安全加固
无论何种方式安装,以下配置至关重要。
6.1 修改监听地址(允许远程访问)
编辑 .conf:
listen_addresses = '*' # 或指定 IP,如 'localhost,192.168.1.100'
port = 5432
仅在必要时开启postgresql,配合防火墙使用。
6.2 配置客户端认证(.conf)
典型配置(位于数据目录下):
# TYPE DATABASE USER ADDRESS METHOD
local all postgres peer
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
host mydb appuser 192.168.1.0/24 md5
6.3 创建应用用户与数据库
-- 登录 psql
sudo -u postgres psql
-- 创建用户
CREATE USER myapp WITH PASSWORD 'strongpassword';
-- 创建数据库并授权
CREATE DATABASE myapp OWNER myapp;
-- 退出
q
6.4 设置环境变量(可选)
为方便命令行使用,可将 psql 加入 PATH:
七、常见问题排查7.1 “psql: not found”7.2 “FATAL: ”7.3 端口被占用7.4 中文乱码
最后总结:
平台推荐方式适用场景
官方 APT 仓库
生产服务器、云主机
官方 YUM 仓库
企业级 Linux 服务器
EDB 图形安装程序
桌面开发、学习
macOS
或 .app
本地开发、快速原型
任意平台
容器
微服务、CI/CD、隔离测试
核心原则:
的安装只是第一步,后续还需关注备份策略(/)、性能调优(, )、高可用(流复制、)等进阶主题。
提醒:安装完成后postgresql,立即运行 和 (); 验证环境,并尝试创建第一个数据库。
1. 本站所有资源来源于用户上传和网络,如有侵权请联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系站长处理!
6. 本站不售卖代码,资源标价只是站长收集整理的辛苦费!如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。
7. 站长QQ号码 2205675299
资源库 - 资源分享下载网 » postgresql 完整教程:万字详解 PostgreSQL 的详细安装方式(Linux、Windows、macOS、Docker 全平台覆盖)
常见问题FAQ
- 关于资源售价和售后服务的说明?
- 代码有没有售后服务和技术支持?
- 有没有搭建服务?
- 链接地址失效了怎么办?
- 关于解压密码

