阿里云服务器Alibaba Cloud Linux 3安装PostgreSQL
一、查看系统版本
[root@iZuf6ebio2vmvmyg07fqsfZ ~]# cat /etc/redhat-release
Alibaba Cloud Linux release 3 (Soaring Falcon)
二、检查PG数据库是否已安装
运行以下命令,若已安装会显示版本信息:
psql --version
若提示 command not found,则未安装。
三、通过 YUM/DNF 安装
3.1 添加 PostgreSQL 官方仓库
Alibaba Cloud Linux 3 默认仓库可能不包含最新版 PostgreSQL,需手动添加官方仓库:
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
3.2 安装 PostgreSQL
选择所需版本(如 PostgreSQL 15):
sudo dnf install -y postgresql15-server postgresql15-contrib
3.3 如果这一步报错
PostgreSQL common RPMs for RHEL / Rocky / AlmaLinux 3 - x86_64 100 B/s | 146 B 00:01
Errors during downloading metadata for repository 'pgdg-common':
- Status code: 404 for https://download.postgresql.org/pub/repos/yum/common/redhat/rhel-3-x86_64/repodata/repomd.xml (IP: 147.75.85.69)
Error: Failed to download metadata for repo 'pgdg-common': Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
表示 PostgreSQL 仓库 URL 中的 $releasever 变量被解析为 3,而官方仓库仅支持 8。
Alibaba Cloud Linux 3 基于 RHEL 8 的软件生态,但系统的 releasever 值(通过 rpm -E %rhel 查看)为 3,导致仓库路径错误。
3.3.1 编辑 PostgreSQL 仓库文件
sudo vim /etc/yum.repos.d/pgdg-redhat-all.repo
3.3.2 替换所有 $releasever 为 8
:%s/\$releasever/8/g
3.3.3 :wq保存退出后重试
sudo dnf install -y postgresql15-server postgresql15-contrib
3.4 初始化数据库
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
3.5 启动服务并设置开机自启
sudo systemctl enable postgresql-15
sudo systemctl start postgresql-15
四、配置 PostgreSQL
4.1 修改远程访问权限
编辑配置文件:
sudo vim /var/lib/pgsql/15/data/postgresql.conf
修改以下参数:
listen_addresses = '*'
port = 5432
4.2 设置客户端访问规则
修改 pg_hba.conf:
sudo vim /var/lib/pgsql/15/data/pg_hba.conf
添加一行:
host all all 0.0.0.0/0 md5
4.3 重启服务生效
sudo systemctl restart postgresql-15
五、验证安装
5.1 登录数据库
sudo -u postgres psql
5.2 查看版本
在 PostgreSQL 命令行中执行:
SELECT version();
5.3 修改密码(重要,不改会被攻击)
\password postgres
5.4 开放端口
阿里云控制台开放5432端口通行