🎮

PostgreSQL ソースからビルド

2022/08/08に公開

PostgreSQL ソースからビルドする際の手順メモ

前提

手順

必要パッケージ
# https://www.postgresql.jp/document/13/html/install-requirements.html
sudo yum -y install gcc
sudo yum -y install readline-devel
sudo yum -y install zlib-devel
sudo yum -y install flex
sudo yum -y install bison
sudo yum -y install git
ユーザー & グループ
sudo groupadd -g 9999 postgres
sudo useradd -u 9999 -g postgres -G postgres -d /home/postgres postgres
ソース取得
su - postgres
git clone https://github.com/postgres/postgres -b REL_13_7

===== ソースを修正する場合はこのタイミングで修正! =====

ビルド/インストール
rm -rf /home/postgres/pgsql
cd postgres
./configure --prefix=$HOME/pgsql/13
# debug オプション版
#./configure --prefix=$HOME/pgsql/13 --enable-debug
make
make install
PostgreSQL初期化
mkdir -p $HOME/pgsql/13/data
exit
echo 'export PGDATA=/home/postgres/pgsql/13/data' >> /home/postgres/.bash_profile
echo 'export PATH=/home/postgres/pgsql/13/bin:$PATH' >> /home/postgres/.bash_profile
echo 'export PGDATA=/home/postgres/pgsql/13/data' >> ~/.bash_profile
echo 'export PATH=/home/postgres/pgsql/13/bin:$PATH' >> ~/.bash_profile
su - postgres
initdb --pgdata=$PGDATA
PostgreSQL 起動
pg_ctl start --pgdata=$PGDATA
バージョン確認
$ psql -c 'select version()'
                                                 version                                                 
---------------------------------------------------------------------------------------------------------
 PostgreSQL 13.7 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 7.3.1 20180712 (Red Hat 7.3.1-15), 64-bit
(1 row)

configure 実行時のオプションが必要な場合

https://www.postgresql.jp/document/13/html/install-procedure.html#CONFIGURE-OPTIONS

その他便利情報

github1s.com というドメインで検索することで、github から vscode 風にソースコードを読める。

https://github1s.com/postgres/postgres/tree/master

Discussion