国产麒麟V10上从零编译PostgreSQL 16.6:ARM架构信创环境实战指南

2025-01-07 软件资源 564 次阅读 0 次点赞
本文介绍了在麒麟V10 ARM服务器上通过源码编译安装PostgreSQL 16.6的完整步骤。麒麟V10是基于国产Linux的操作系统,专为飞腾、鲲鹏等ARM芯片优化,而PostgreSQL是功能强大的开源数据库。由于系统包管理器缺少PostgreSQL安装包,需手动编译。步骤包括:查看系统版本、下载解压源码、安装依赖、编译安装、配置环境变量、创建用户和数据目录、初始化数据库、配置监听地址与远程访问、启动数据库并验证端口。整个过程适用于信创环境下的数据库部署需求。

麒麟v10(KylinOS V10)是基于国产Linux开发的通用操作系统,其ARM架构版本专为飞腾、鲲鹏等国产ARM芯片深度优化,具备高安全等级(内置国密算法与强制访问控制)及良好的生态兼容性,支持主流国产软件及容器、虚拟化等云原生环境,广泛应用于政务、金融、能源等领域的信创服务器与工作站。

PostgreSQL是一个功能强大的开源对象关系型数据库系统,以高扩展性、SQL标准兼容性好和支持复杂查询著称;它不仅支持ACID事务、外键、视图、触发器和存储过程等企业级特性,还具备JSON/JSONB文档处理、多种索引类型(如B-tree、Hash、GIN、GiST等)、全文本搜索和地理空间扩展等高级功能,在确保数据可靠性的同时能高效处理从小型应用到大型数据仓库的各类负载。

由于麒麟v10包管理器上没有postgresql安装包,所以只能通过PostgreSQL源码进行编译。

下载地址

PostgreSQL源码下载地址:https://ftp.postgresql.org/pub/source/

安装方法

1、查询麒麟系统版本。

nkvers

返回值

############## Kylin Linux Version #################
Release:
Kylin Linux Advanced Server release V10 (Lance)

Kernel:
4.19.90-52.22.v2207.ky10.aarch64

Build:
Kylin Linux Advanced Server
release V10 (SP3) /(Lance)-aarch64-Build23/20230324
#################################################

2、下载PostgreSQL源码。

curl https://ftp.postgresql.org/pub/source/v16.6/postgresql-16.6.tar.gz -o postgresql-16.6.tar.gz

3、解压PostgreSQL源码压缩包。

postgres]# tar -zvxf postgresql-16.6.tar.gz

4、安装依赖包。

yum install readline.aarch64 readline-devel.aarch64

5、编译并安装PostgreSQL。

cd postgresql-16.6/
./configure --prefix=/opt/postgresql --without-readline
make
make install

6、配置环境变量。

cd /etc/profile.d/
vim postgresql.sh

编辑文件

export PGHOME=/opt/postgresql
export PGDATA=/opt/postgresql/data
export PATH=$PGHOME/bin:$PATH
export LANG=en_US.utf8
export LD_LIBRARY_PATH=$PGHOME/lib:$LD_LIBRARY_PATH

运行文件

source postgresql.sh

7、 创建用户和数据中心。

useradd postgres
mkdir -p /opt/postgresql/data/pgsql
chown postgres:postgres /opt/postgresql/data/pgsql

8、初始化数据库。

su - postgres
/opt/postgresql/bin/initdb -D /opt/postgresql/data/pgsql

9、配置监听的IP地址。

vim /opt/postgresql/data/pgsql/postgresql.conf

找到并修改下面一行:

#listen_addresses = 'localhost'

10、配置允许远程访问。

vim /opt/postgresql/data/pgsql/pg_hba.conf

修改

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
local   replication     all                                     trust
host    replication     all             127.0.0.1/32            trust
host    replication     all             ::1/128                 trust

trust表示无密码登录,md5表示使用密码登录。

11、启动数据库。

/opt/postgresql/bin/pg_ctl -D /opt/postgresql/data/pgsql -l logfile start

12、验证5432端口是否开启。

netstat -anp|grep 5432
最后更新于8天前
本文由人工编写,AI优化,转载请注明原文地址: 国产麒麟V10上从零编译PostgreSQL 16.6:ARM架构信创环境实战指南

评论 (0)

登录 后发表评论

暂无评论,快来发表第一条评论吧!