PostgreSQL 18 をソースコードからビルドしたい

はじめに

PostgreSQL 18 がリリースされたので、ソースコードからビルドする手順を確認してみました。

まぁ、基本的には公式リファレンスと過去の自分のブログをなぞっているだけです。

LLVMのサポートと、lz4・zstd圧縮のサポートを有効にしてビルドします。

Chapter 17. Installation from Source Code

PostgreSQLを野良ビルドしてローカルインストールしたい

環境

ソフトウェアバージョン
OSUbuntu 24.04.3 LTS
PostgreSQL18.0

また、ソースコードは$HOME/srcに展開するものとし、バイナリは$HOME/.local/pg18.0にインストールするものとします。

コンパイラ・ライブラリのインストール

ビルドするだけなら以下のパッケージを入れるだけでOKです。

sudo apt install \
  build-essential \
  flex \
  bison \
  libreadline-dev \
  zlib1g-dev \
  liblz4-dev \
  libzstd-dev \
  llvm-20 \
  clang-20

ドキュメントを含めたフルビルドが必要なら以下のパッケージも必要になります。

sudo apt install \
  docbook-xml \
  docbook-xsl \
  libxml2-utils \
  xsltproc \
  fop

ソースコードのダウンロード・展開

以下のコマンドよりソースコードをダウロード・展開します。

cd $HOME/src
curl -OL https://ftp.postgresql.org/pub/source/v18.0/postgresql-18.0.tar.gz
tar zxvf postgresql-18.0.tar.gz

ビルド・インストール

以下のコマンドより、configureを流します。

cd postgresql-18.0
mkdir build_temp && cd build_temp
$HOME/src/postgresql-18.0/configure \
  --prefix=$HOME/.local/pg18.0 \
  --with-icu \
  --with-lz4 \
  --with-zstd \
  --with-llvm \
  LLVM_CONFIG='/usr/bin/llvm-config-20' \
  CLANG='/usr/bin/clang-20' \
  CC='/usr/bin/clang-20' \
  CXX='/usr/bin/clang-20'

バイナリ系をビルドするだけなら以下のコマンドを実行します。

make world-bin
make install-world-bin

ドキュメントを含めてすべてビルドするなら以下のコマンドを実行します。

make world
make install-world

おわり