centos7 aarch64上安装PostgreSQL14.3

目录

[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 架构兼容性)

问题项

1.yum中清除报错的repo


在 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.';"
允许远程访问:
  1. 修改 postgresql.conf

    sudo vi /usr/local/pgsql/data/postgresql.conf

修改:

复制代码
listen_addresses = '*'
  1. 修改 pg_hba.conf

    sudo vi /usr/local/pgsql/data/pg_hba.conf

添加:

复制代码
host    all             all             0.0.0.0/0               md5
  1. 重启服务:

    sudo systemctl restart postgresql

防火墙设置:
复制代码
sudo firewall-cmd --permanent --add-port=5432/tcp
sudo firewall-cmd --reload

安装后注意事项:

  1. 默认连接方式

    复制代码
    sudo -u postgres psql
  2. 重要目录

    • 安装目录:/usr/local/pgsql
    • 数据目录:/usr/local/pgsql/data
    • 配置文件:/usr/local/pgsql/data/postgresql.conf
  3. 性能优化

    根据服务器内存大小调整 shared_buffers 等参数(在 postgresql.conf 中)

  4. 版本升级

    后续升级新版本时,建议使用 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

删除后再执行其他安装命令就正常了。

相关推荐
名字还没想好☜4 小时前
用 systemd 托管后台服务:Restart 策略、日志接管、资源限制与开机自启全踩一遍
运维·docker·kubernetes
乌恩大侠5 小时前
GH200 新增 NVMe SSD 分区、格式化与挂载完整流程
运维·服务器·前端
tangwangbi5 小时前
Linux 系统配置文件:/etc/profile、~/.bashrc 和 ~/.bash_profile 三者之间的区别与作用
linux·运维·bash
蜀道山老天师5 小时前
Shell Bash变量与运算符(含条件测试与流程控制)
linux·运维·bash
Mr.朱鹏5 小时前
Linux 服务器 LVM 根分区在线动态扩容
linux·服务器·数据库
摇滚侠5 小时前
《SpringBoot 3:入门与应用实战》第 12 章 JDBC 与事务 数据库初始化机制 阅读笔记 36
数据库·spring boot·笔记
草邦设计开发团队_媒体资源平台5 小时前
GEO 信源整合一键发布软文:从内容生产到流量获客的自动化实践
运维·人工智能·自动化
zhou lily5 小时前
非标自动化管理系统ERP如何选?2026年10大ERP软件对比分析
运维·自动化
qiuhaipeng15 小时前
Claude code 升级后上下文长度变短问题
java·前端·数据库
mengge.cloud5 小时前
存储技术基础小白教程
linux·运维·服务器·wpf·存储