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

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

相关推荐
NocoBase33 分钟前
10 个开源工具,快速构建数据应用
数据库·低代码·开源
yuanpan34 分钟前
ubuntu系统上的conda虚拟环境导出方便下次安装
linux·ubuntu·conda
麻辣清汤1 小时前
结合BI多维度异常分析(日期-> 商家/渠道->日期(商家/渠道))
数据库·python·sql·finebi
云边云科技1 小时前
零售行业新店网络零接触部署场景下,如何选择SDWAN
运维·服务器·网络·人工智能·安全·边缘计算·零售
城管不管1 小时前
Docker核心---数据卷(堵门秘籍)
运维·docker·容器
AOwhisky1 小时前
Linux 文本处理三剑客:awk、grep、sed 完全指南
linux·运维·服务器·网络·云计算·运维开发
Gavin_9152 小时前
从零开始部署经典开源项目管理系统最新版redmine6-Linux Debian12
linux·ruby on rails·开源·debian·ruby·redmine
xuanerya2 小时前
使用 SSH 方式克隆 GitHub 仓库没有权限解决办法
运维·ssh·github
花小璇学linux2 小时前
imx6ull-驱动开发篇31——Linux异步通知
linux·驱动开发·嵌入式软件
shelutai2 小时前
ubuntu 编译ffmpeg6.1 增加drawtext,libx264,libx265等
linux·ubuntu·ffmpeg