努力
奋斗

阿里云服务器ecs安装postgresql?

服务器

在阿里云 ECS 上安装 PostgreSQL 主要有两种推荐方式:

  1. 使用官方软件源安装(推荐用于生产环境或需要自定义配置)
    • 优点:版本可控、可升级、与系统包管理器集成。
  2. 使用阿里云 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)


🔒 安全建议

  1. 不要使用默认密码,务必设置强密码。
  2. 限制 pg_hba.conf 的访问来源,仅允许必要 IP。
  3. 启用防火墙,仅开放 5432 端口给可信 IP。
  4. 定期备份:使用 pg_dump 或阿里云快照功能。
  5. 启用日志记录,便于审计和问题排查。

🔄 替代方案:使用阿里云 RDS PostgreSQL

如果你不想手动维护数据库,推荐使用 阿里云 RDS PostgreSQL:

  • 一键创建、高可用架构
  • 自动备份、监控、补丁更新
  • 支持按量付费或包年包月

访问地址:https://rdsnext.console.aliyun.com/


如需具体某个 Linux 发行版或 PostgreSQL 版本的详细步骤,请告诉我你的操作系统和期望版本,我可以提供更精准的命令。

未经允许不得转载:轻量云Cloud » 阿里云服务器ecs安装postgresql?