Linux 上安装 PostgreSQL
下面是在 Linux 上安装 PostgreSQL 的完整指南,覆盖主流发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux),并附上 启动服务、初始化、验证安装、设置远程访问 等实用步骤。
一、Ubuntu / Debian 系
# 1. 更新包索引
sudo apt update
# 2. 安装 PostgreSQL(默认安装最新稳定版)
sudo apt install postgresql postgresql-contrib
# 3. 检查服务状态
sudo systemctl status postgresql
自动完成的工作:
- 创建系统用户:
postgres - 默认监听:
localhost:5432 - 初始化默认数据库集群(在 
/var/lib/postgresql/X/main) 
启动/开机自启
sudo systemctl start postgresql
sudo systemctl enable postgresql
二、CentOS / RHEL / Rocky / AlmaLinux / Fedora
注意:CentOS 7 使用
yum,CentOS 8+/RHEL 8+/Fedora 使用dnf
# 1. 安装 PostgreSQL 官方仓库(推荐)
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpm/RPMS/x86_64/pgdg-redhat-repo-latest.noarch.rpm
# 2. 安装 PostgreSQL(例如 16 版本)
sudo dnf install -y postgresql16-server postgresql16-contrib
# 3. 初始化数据库(仅第一次)
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
# 4. 启动并设置开机自启
sudo systemctl enable postgresql-16
sudo systemctl start postgresql-16
版本说明:
postgresql16表示 v16,改为15、14等即可安装其他版本。
三、Arch Linux
sudo pacman -S postgresql
# 初始化数据目录(首次)
sudo -u postgres initdb -D /var/lib/postgres/data
# 启动服务
sudo systemctl start postgresql
sudo systemctl enable postgresql
四、验证安装成功
# 1. 检查版本
psql --version
# 或
postgres --version
# 2. 切换到 postgres 用户进入 psql
sudo -u postgres psql
# 在 psql 中执行:
postgres=# SELECT version();
postgres=# \l          -- 列出数据库
postgres=# \q          -- 退出
五、设置用户密码(推荐)
默认 postgres 用户无密码(通过本地 socket 认证)。建议设置密码:
sudo -u postgres psql
ALTER USER postgres WITH PASSWORD 'your_secure_password';
\q
六、允许远程连接(可选)
1. 修改监听地址
sudo nano /etc/postgresql/16/main/postgresql.conf
找到并修改:
# listen_addresses = 'localhost'   # 取消注释并改为:
listen_addresses = '*'
2. 配置客户端认证
sudo nano /etc/postgresql/16/main/pg_hba.conf
在文件末尾添加(允许特定 IP 或网段):
# TYPE  DATABASE  USER  ADDRESS           METHOD
host    all       all   192.168.1.0/24    md5
host    all       all   0.0.0.0/0         md5   # 允许所有(不推荐生产)
3. 重启服务
sudo systemctl restart postgresql
4. 开放防火墙端口
# Ubuntu
sudo ufw allow 5432/tcp
# CentOS/RHEL
sudo firewall-cmd --add-port=5432/tcp --permanent
sudo firewall-cmd --reload
七、创建第一个数据库和用户
sudo -u postgres psql
CREATE DATABASE myapp;
CREATE USER appuser WITH ENCRYPTED PASSWORD 'apppass123';
GRANT ALL PRIVILEGES ON DATABASE myapp TO appuser;
\q
测试连接:
psql -h localhost -U appuser -d myapp
# 输入密码后进入
八、常用命令总结
| 命令 | 说明 | 
|---|---|
sudo systemctl start postgresql | 启动服务 | 
sudo systemctl status postgresql | 查看状态 | 
psql -U postgres | 进入 psql | 
pg_dump mydb > backup.sql | 备份 | 
psql mydb < backup.sql | 恢复 | 
createdb mydb | 创建数据库(命令行) | 
dropdb mydb | 删除数据库 | 
九、卸载 PostgreSQL(如果需要)
Ubuntu/Debian
sudo apt purge postgresql*
sudo rm -rf /var/lib/postgresql/
CentOS/RHEL
sudo dnf remove postgresql16*
sudo rm -rf /var/lib/pgsql/16/
恭喜!你已成功在 Linux 上安装并配置好 PostgreSQL!
下一步建议:
- 安装 
pgAdmin或DBeaver图形化管理 - 学习 
pg_dump定期备份 - 使用连接池(如 
PgBouncer)优化性能 
需要我提供 Docker 安装方式 或 一键脚本 吗?回复 Docker 或 脚本 即可!