Rocky Linux PostgreSQL 18 llvm+uring源码安装

本文涉及的产品
PolarSearch,搜索节点 4核8GB
PolarDB Agent Express,2核4GB
云数据库 PolarDB MySQL 版,列存表分析加速 8核16GB
简介: PostgreSQL 18正式版发布,新增异步I/O、UUIDv7等功能。本文记录在Rocky Linux 9上从依赖安装、LLVM编译、io_uring配置到PostgreSQL 18源码编译的完整过程,涵盖关键步骤与命令,助你顺利构建最新版本数据库环境。

PostGreSQL 18正式版发布了,新增了异步I/O、UUIDv7等诸多功能,第一时间在Rocky Linux 9下载编译,纪录如下:

一、安装依赖包

dnf install git cmake gcc-c++ openssl-devel python3-devel libicu-devel bison flex readline lz4-devel readline-devel zlib-devel perl-FindBin docbook-dtds docbook-style-xsl libxslt -y

二、编译LLVM

这里以15.0.7为例,说明自行编译的方法

wget https://github.com/llvm/llvm-project/releases/download/llvmorg-15.0.7/llvm-project-15.0.7.src.tar.xz
tar Jxvf llvm-project-15.0.7.src.tar.xz
mkdir -p llvm-project-15.0.7.src/build
cd llvm-project-15.0.7.src/build
cmake -DCMAKE_BUILD_TYPE=Release \
      -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" \
      -DLLVM_ENABLE_RUNTIMES="libcxx;libcxxabi" \
      -DLLVM_TARGETS_TO_BUILD=Native \
      -DCMAKE_INSTALL_PREFIX="/usr/local" \
      ../llvm
make -j10 #这里根据自己的cpu个数来决定
cmake -P cmake_install.cmake

三、关于io_uring

Rocky Linux 9、10内置io_uring,但软件仓库里没有io_uring的开发包,导致带上 --with-liburing 时无法编译,我这里先删除内置的io_uring包,然后下载最新的io_uring自行编译,方法如下:

  1. 编译安装
dnf remove liburing     #删除内置包
wget https://github.com/axboe/liburing/archive/refs/tags/liburing-2.12.tar.gz
tar zxvf liburing-2.12.tar.gz
cd liburing-liburing-2.12/
./configure
make
make install
  1. 打开内核io_uring支持

Rocky Linux缺省是禁用io_uring的,通过以下命令可以查看io_uring支持是否打开

cat /proc/sys/kernel/io_uring_disabled  #会显示2,表示禁止

这时需要打开io_uring支持:

echo "kernel.io_uring_disabled=0" >> /etc/sysctl.conf
sysctl -p

完成上述操作后用 cat /proc/sys/kernel/io_uring_disabled 命令查看,如果返回 0 则表示io_uring内核支持已经打开。

四、编译PostgreSQL 18

本例默认安装在/usr/local/pgsql18目录下,需要提前导出io_uring开发包的位置:

wget https://ftp.postgresql.org/pub/source/v18.0/postgresql-18.0.tar.gz
#需要导出io_uring开发库路径,默认安装在/usr/lib下,如果不导出,则无法编译
export PKG_CONFIG_PATH=/usr/lib/pkgconfig:$PKG_CONFIG_PATH
CC=/usr/local/bin/clang CFLAGS="-O3 -fstrict-enums -fno-signed-zeros" CLANG=/usr/local/bin/clang LLVM_CONFIG=/usr/local/bin/llvm-config ./configure --prefix=/usr/local/pgsql18 --with-llvm --with-openssl --with-lz4 --with-python --with-liburing
make world
make install-world








相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍如何基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
存储 关系型数据库 数据库
用Patroni配置PostgreSQL高可用集群
Patroni是Zalando开发的数据库高可用管理软件,用于编排和自动化PostgreSQL集群的管理过程。Patroni 需要一系列其他组件的支持,通过利用第三方分布式一致性软件,组建并实现数据库高可用方案。
用Patroni配置PostgreSQL高可用集群
CentOS7编译安装openssl1.1.1
centos7默认提供的openssl版本是1.0.2的,想要升级openssl版本则需要手动进行编译
|
6月前
|
关系型数据库 Unix Linux
Rocky Linux下用meson编译安装PostgreSQL
本文记录在Rocky Linux 9.7上使用Meson编译PostgreSQL 18.1的完整流程,涵盖环境准备、依赖安装、快速部署命令及详细配置说明,重点介绍Meson构建系统的核心用法与常用参数,助力高效完成源码编译与定制化安装。
|
关系型数据库 Linux 数据库
PostgreSQL源码编译安装
本节详细介绍了如何通过源码编译安装 PostgreSQL 17.6,涵盖从源码下载、依赖安装、配置编译参数、执行编译与安装、创建数据库用户与目录、初始化数据库,到配置 systemd 启动服务的完整流程。内容适用于多种 Linux 发行版,如 Rocky Linux、CentOS、openEuler、Ubuntu、Debian 等,并提供了常见错误的解决方法及一键安装脚本,帮助用户高效完成 PostgreSQL 的源码部署。
1525 0
PostgreSQL源码编译安装
|
关系型数据库 测试技术 Linux
PostgreSQL配置文件修改及启用方法
总的来说,修改和启用PostgreSQL的配置文件是一个直接而简单的过程。只需要找到配置文件,修改你想要改变的选项,然后重启服务器即可。但是,你需要注意的是,不正确的配置可能会导致服务器性能下降,甚至导致服务器无法启动。因此,在修改配置文件之前,你应该充分理解每个选项的含义和影响,如果可能的话,你应该在测试环境中先进行试验。
1139 72

热门文章

最新文章