Linux 上安装 PostgreSQL

下面是在 Linux 上安装 PostgreSQL 的完整指南,覆盖主流发行版(Ubuntu/DebianCentOS/RHEL/FedoraArch 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,改为 1514 等即可安装其他版本。


三、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!


下一步建议

  1. 安装 pgAdminDBeaver 图形化管理
  2. 学习 pg_dump 定期备份
  3. 使用连接池(如 PgBouncer)优化性能

需要我提供 Docker 安装方式一键脚本 吗?回复 Docker脚本 即可!

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注