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

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

相关推荐
tianyuanwo21 分钟前
K8s Dashboard运维技巧全面经验总结
linux·运维·kubernetes
梦子yumeko1 小时前
第五章Langchain4j之基于内存和redis实现聊天持久化
数据库·redis·缓存
无敌的牛1 小时前
Linux操作系统
linux·运维·服务器
顾小玙1 小时前
Linux : 进程概念
linux
半梦半醒*1 小时前
k8s——services资源+pod详解1
linux·运维·docker·kubernetes·centos·负载均衡
IndulgeCui2 小时前
【金仓数据库产品体验官】KSQL Developer Linux版安装使用体验
linux·运维·数据库
半旧夜夏2 小时前
【分布式缓存】Redis持久化和集群部署攻略
java·运维·redis·分布式·缓存
苹果醋32 小时前
element-ui源码阅读-样式
java·运维·spring boot·mysql·nginx
一马平川的大草原2 小时前
基于n8n实现数据库多表数据同步
数据库·数据同步·dify·n8n
Biomamba生信基地2 小时前
Linux| 二.计算机软件组成与Linux
linux·运维·服务器·生信·医药