在阿里云 ECS 上安装 PostgreSQL 主要有两种推荐方式:
- 使用官方软件源安装(推荐用于生产环境或需要自定义配置)
- 优点:版本可控、可升级、与系统包管理器集成。
- 使用阿里云 RDS PostgreSQL(托管服务,无需自行维护)
- 优点:免运维、高可用、自动备份、监控告警等。但成本较高,且非“自建”。
下面以 CentOS 7/8 或 Ubuntu 20.04/22.04 为例,介绍自建 PostgreSQL 的安装步骤。
✅ 一、CentOS 7/8 安装 PostgreSQL
1. 更新系统并安装依赖
sudo yum update -y
sudo yum install -y epel-release
sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm
CentOS 8 请使用对应的 repo rpm:
pgdg-redhat-repo-latest.noarch.rpm对应 EL-8。
2. 安装 PostgreSQL
# 查看可用版本
yum list available postgresql* | grep postgresql-server
# 安装指定版本(例如 PostgreSQL 15)
sudo yum install -y postgresql15-server postgresql15-contrib
3. 初始化数据库
# CentOS 7
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
# CentOS 8/RHEL 8+ 可能使用 systemd 管理
sudo systemctl enable postgresql-15
sudo systemctl start postgresql-15
4. 设置开机自启并启动服务
sudo systemctl enable postgresql-15
sudo systemctl start postgresql-15
5. 配置远程访问(可选)
编辑 postgresql.conf:
sudo vi /var/lib/pgsql/15/data/postgresql.conf
修改:
listen_addresses = '*'
port = 5432
编辑 pg_hba.conf 允许远程连接:
sudo vi /var/lib/pgsql/15/data/pg_hba.conf
添加:
host all all 0.0.0.0/0 md5
重启服务:
sudo systemctl restart postgresql-15
6. 设置密码并创建用户
sudo su - postgres
psql
在 psql 中执行:
ALTER USER postgres WITH PASSWORD 'your_secure_password';
CREATE USER myuser WITH PASSWORD 'mypassword';
CREATE DATABASE mydb OWNER myuser;
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
q
exit
7. 开放安全组端口
在阿里云控制台 → ECS实例 → 安全组规则 → 添加入方向规则:
- 协议:TCP
- 端口范围:5432
- 授权对象:
0.0.0.0/0或特定 IP
✅ 二、Ubuntu 20.04/22.04 安装 PostgreSQL
1. 更新并安装
sudo apt update
sudo apt install -y postgresql postgresql-contrib
2. 启动服务
sudo systemctl enable postgresql
sudo systemctl start postgresql
3. 配置远程访问
编辑 /etc/postgresql/<version>/main/postgresql.conf:
listen_addresses = '*'
编辑 /etc/postgresql/<version>/main/pg_hba.conf,添加:
host all all 0.0.0.0/0 md5
重启:
sudo systemctl restart postgresql
4. 设置密码和创建用户
sudo su - postgres
psql
ALTER USER postgres WITH PASSWORD 'your_secure_password';
CREATE USER myuser WITH PASSWORD 'mypassword';
CREATE DATABASE mydb OWNER myuser;
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
q
exit
5. 开放安全组端口(同 CentOS)
🔒 安全建议
- 不要使用默认密码,务必设置强密码。
- 限制 pg_hba.conf 的访问来源,仅允许必要 IP。
- 启用防火墙,仅开放 5432 端口给可信 IP。
- 定期备份:使用
pg_dump或阿里云快照功能。 - 启用日志记录,便于审计和问题排查。
🔄 替代方案:使用阿里云 RDS PostgreSQL
如果你不想手动维护数据库,推荐使用 阿里云 RDS PostgreSQL:
- 一键创建、高可用架构
- 自动备份、监控、补丁更新
- 支持按量付费或包年包月
访问地址:https://rdsnext.console.aliyun.com/
如需具体某个 Linux 发行版或 PostgreSQL 版本的详细步骤,请告诉我你的操作系统和期望版本,我可以提供更精准的命令。
轻量云Cloud