PostgreSQL 16源码安装

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: PostgreSQL 16源码编译,涵盖gcc、clang、pg jit

操作系统:ubuntu 22.04.3 TLS

编译器:clang 或者 gcc,尽量使用最新版的编译器。

一、安装前准备:

1.必要的依赖包

apt install bison flex libssl-dev

2.cmake

可以用apt安装,或者去官网下载最新版本自行编译安装。

wget https://github.com/Kitware/CMake/releases/download/v3.27.6/cmake-3.27.6.tar.gz
tar zxvf cmake-3.27.6.tar.gz
cd cmake-3.27.6
./configure
makemake install

3.llvm

如果想要使用jit则需要安装llvm和clang,这里以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

二、编译安装PostgreSQL

wget https://ftp.postgresql.org/pub/source/v16.0/postgresql-16.0.tar.gz
tar zxvf postgresql-16.0.tar.gz
cd postgresql-16.0
#这里使用clang编译CC=/usr/local/llvm/bin/clang CFLAGS="-O3 -fstrict-enums -fno-signed-zeros" \
CLANG=/usr/local/llvm/bin/clang LLVM_CONFIG=/usr/local/llvm/bin/llvm-config \
    ./configure --prefix=/usr/local/pgsql16 --with-llvm--with-openssl--without-icu#如果不想使用clang编译CFLAGS="-O3" \
LLVM_CONFIG=/usr/local/llvm/bin/llvm-config \
    ./configure --prefix=/usr/local/pgsql16 --with-llvm--with-openssl--without-icu#请仔细查看configure的输出信息,如果发现有依赖包未安装,请自行用apt安装后重新执行configuremake world -j10make install-world

三、llvm加载

jit可提升某些sql的性能,如果需要使用,可在initdb完成后,修改postgresql.conf,打开git选项

jit_provider ='llvmjit'# JIT library to usejit_above_cost =100000# perform JIT compilation if available# and query more expensive than this;# -1 disablesjit_inline_above_cost =500000# inline small functions if query is# more expensive than this; -1 disablesjit_optimize_above_cost =500000# use expensive JIT optimizations if# query is more expensive than this;# -1 disablesjit = on                                # allow JIT compilation
相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
目录
相关文章
|
关系型数据库 Linux 数据库
|
关系型数据库 数据库 开发工具
PostgreSQL 10.0 源码安装
源码安装 tar zxvf postgresql-10.0.tar.gz mv postgresql-10.0 /usr/local/pgsql cd /usr/local/pgsql/ root用户下安装依赖包 yum -y install gcc gcc-c++ automake auto...
1679 0
|
JavaScript 关系型数据库 Linux
PostgreSQL 11源码安装
PostgreSQL 11源码安装 测试环境:RedHat 7.0 Linux 64bit PostgreSQL 11源码安装包下载地址link 系统环境准备 RedHat 7.0默认会安装相关系统包,还需要增加PostgreSQL编译时必须包,如下: gcc, bison, gcc-c++, r.
7473 0
|
关系型数据库 数据库 PostgreSQL
|
关系型数据库 数据库 PostgreSQL
|
关系型数据库 C语言 PostgreSQL
|
运维 关系型数据库 数据库
PostgreSQL运维实战精讲之“postgresql源码安装”
一、下载地址 wget https://ftp.postgresql.org/pub/source/v9.2.4/postgresql-9.2.4.tar.gz 二、安装: #安装依赖包 yum install -y perl-...
892 0
|
关系型数据库 PostgreSQL 数据库
|
2天前
|
SQL 关系型数据库 数据库
关系型数据库选择合适的数据库管理系统
关系型数据库选择合适的数据库管理系统
9 2