目录
[1. 安装依赖包](#1. 安装依赖包)
[2. 下载 PostgreSQL 14.3 源码](#2. 下载 PostgreSQL 14.3 源码)
[3. 配置编译选项](#3. 配置编译选项)
[4. 编译并安装](#4. 编译并安装)
[5. 创建 PostgreSQL 用户和组](#5. 创建 PostgreSQL 用户和组)
[6. 创建数据目录并设置权限](#6. 创建数据目录并设置权限)
[7. 初始化数据库](#7. 初始化数据库)
[8. 配置环境变量](#8. 配置环境变量)
[9. 创建 systemd 服务文件](#9. 创建 systemd 服务文件)
[10. 启动服务并设置开机自启](#10. 启动服务并设置开机自启)
[11. 验证安装](#11. 验证安装)
[12. 基本配置(可选)](#12. 基本配置(可选))
[修改 postgres 用户密码:](#修改 postgres 用户密码:)
[验证 ARM 架构兼容性](#验证 ARM 架构兼容性)
在 CentOS 7 aarch64 架构上安装 PostgreSQL 14.3,由于官方 RPM 仓库可能不直接提供 ARM 版本的特定版本,我们将采用源码编译安装的方式。以下是详细步骤:
1. 安装依赖包
sudo yum groupinstall -y "Development Tools"
sudo yum install -y readline-devel zlib-devel openssl-devel wget
2. 下载 PostgreSQL 14.3 源码
wget https://ftp.postgresql.org/pub/source/v14.3/postgresql-14.3.tar.gz
tar -xvf postgresql-14.3.tar.gz
cd postgresql-14.3
3. 配置编译选项
./configure \
--prefix=/usr/local/pgsql \
--with-openssl \
--with-systemd \
--with-libxml \
--with-libxslt
说明:
--prefix
:指定安装目录--with-openssl
:启用 SSL 支持--with-systemd
:支持 systemd 服务- ARM 架构下编译参数与 x86 基本相同,编译器会自动适配架构
执行记录:
./configure \
--prefix=/usr/local/pgsql

4. 编译并安装
make -j$(nproc) # -j 参数使用所有 CPU 核心加速编译
sudo make install
执行记录
make -j$(nproc)

sudo make install

5. 创建 PostgreSQL 用户和组
sudo groupadd postgres
sudo useradd -g postgres postgres
6. 创建数据目录并设置权限
sudo mkdir -p /usr/local/pgsql/data
sudo chown -R postgres:postgres /usr/local/pgsql/data
7. 初始化数据库
sudo -u postgres /usr/local/pgsql/bin/initdb -D /usr/local/pgsql/data

8. 配置环境变量
echo 'export PATH=/usr/local/pgsql/bin:$PATH' | sudo tee /etc/profile.d/pgsql.sh
echo 'export PGDATA=/usr/local/pgsql/data' | sudo tee -a /etc/profile.d/pgsql.sh
echo 'export MANPATH=/usr/local/pgsql/share/man:$MANPATH' | sudo tee -a /etc/profile.d/pgsql.sh
source /etc/profile.d/pgsql.sh

将 PostgreSQL 添加到系统 PATH
编辑 /etc/profile
文件:
sudo vi /etc/profile
在文件末尾添加:
export PATH=/usr/local/pgsql/bin:$PATH
export PGDATA=/usr/local/pgsql/data
保存后加载新配置:
source /etc/profile
9. 创建 systemd 服务文件
sudo vi /etc/systemd/system/postgresql.service
内容如下:
[Unit]
Description=PostgreSQL database server
After=network.target
[Service]
Type=notify
User=postgres
ExecStart=/usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
ExecReload=/bin/kill -HUP $MAINPID
KillMode=mixed
KillSignal=SIGINT
TimeoutSec=0
[Install]
WantedBy=multi-user.target
10. 启动服务并设置开机自启
sudo systemctl daemon-reload
sudo systemctl enable postgresql
sudo systemctl start postgresql
11. 验证安装
sudo systemctl status postgresql
sudo -u postgres /usr/local/pgsql/bin/psql -c "SELECT version();"

12. 基本配置(可选)
修改 postgres 用户密码:
sudo -u postgres /usr/local/pgsql/bin/psql -c "ALTER USER postgres WITH PASSWORD 'Zx@2025.';"
允许远程访问:
-
修改
postgresql.conf
:sudo vi /usr/local/pgsql/data/postgresql.conf
修改:
listen_addresses = '*'
-
修改
pg_hba.conf
:sudo vi /usr/local/pgsql/data/pg_hba.conf
添加:
host all all 0.0.0.0/0 md5
-
重启服务:
sudo systemctl restart postgresql
防火墙设置:
sudo firewall-cmd --permanent --add-port=5432/tcp
sudo firewall-cmd --reload
安装后注意事项:
-
默认连接方式:
sudo -u postgres psql
-
重要目录:
- 安装目录:
/usr/local/pgsql
- 数据目录:
/usr/local/pgsql/data
- 配置文件:
/usr/local/pgsql/data/postgresql.conf
- 安装目录:
-
性能优化 :
根据服务器内存大小调整
shared_buffers
等参数(在postgresql.conf
中) -
版本升级 :
后续升级新版本时,建议使用 pg_upgrade 工具进行数据迁移
验证 ARM 架构兼容性
# 检查 PostgreSQL 是否识别 ARM 架构
sudo -u postgres psql -c "SHOW arch;"
# 查看服务器平台信息
sudo -u postgres psql -c "SELECT version();"
注意:源码编译安装方式在 ARM 架构上可能需要较长时间(约 20-30 分钟,取决于 CPU 性
能)。如果遇到内存不足的情况,可以尝试减少 make 的并行编译数(如
make -j2
)。
问题项
1.yum中清除报错的repo
由于安装之前不清楚yum方式安装时链接Postgresq14.3版本有问题,所以安装失败,报错如下:

至此过后,安装其他任何东西都报错如下:

通过错误信息分析出问题源于 PostgreSQL RPM 仓库的 问题,**检查仓库配置,**验证仓库文件是否正常:
sudo vi /etc/yum.repos.d/pgdg-redhat-all.repo
发现仓库配置正确,只是链接不上仓库地址,所以只能将仓库配置删掉
rm -rf /etc/yum.repos.d/pgdg-redhat-all.repo
删除后再执行其他安装命令就正常了。