【Linux】PostgreSQL 11 ソースからのインストール

OSS

 概要

Oracle Enterprise Linux 7 on Oracle VM VirtualBox での
PostgreSQL 11 をソースからインストールする方法を紹介

環境

  • Oracle Enterprise Linux 7.4 (64 bit)
  • PostgreSQL 11

PostgreSQL 11 のインストール

大まかな流れは以下

4-1. ソフトウェアの入手
4-2. ソフトウェアの確認
4-3. ユーザ作成
4-4. インストール作業
4-5. 環境変数の設定
4-6. 初期設定
4-7. 起動確認

ソフトウェアの入手

PostgreSQL 11 のソースは、PostgreSQL sourceから入手

ソフトウェアの確認

PostgreSQL が入っているかの確認

# rpm -qa |grep postgres

存在する場合は、「rpm -e」コマンドで削除します
以下のパッケージを事前にインストールします

# yum install readline readline-devel gcc zlib-devel

パッケージが不足していると以下のエラーが出たりします

$ ./configure --prefix=/usr/local/pgsql
configure: error: zlib library not found
If you have zlib already installed, see config.log for details on the
failure.  It is possible the compiler isn't looking in the proper directory.
Use --without-zlib to disable zlib support.

ユーザ作成

PostgreSQLインストール用のユーザを作成します

# useradd -m -d /home/postgres postgres

インストール作業

# cd /usr/local/src
# tar xvzf postgresql-11beta1.tar.gz
# chown -R postgres:postgres postgresql-11beta1
# mkdir /usr/local/pgsql
# chown -R postgres:postgres /usr/local/pgsql
$ su - postgres
$ cd /usr/local/src/postgresql-10.0
$ ./configure --prefix=/usr/local/pgsql
$ less config.log
$ make
# make instal

必要に応じてログを取得しましょう

以下のコマンドだと、標準出力もログも取得出来ていい感じ

$ make 2>&1 | tee make.log
# make install 2>&1 | tee make-install.log

ディレクトリが作成されたことを確認

# ls -l /usr/local/pgsql/
合計 12
drwxr-xr-x. 2 root root 4096 10月 25 23:02 bin
drwxr-xr-x. 4 root root 4096 10月 25 23:02 include
drwxr-xr-x. 4 root root 4096 10月 25 23:02 lib
drwxr-xr-x. 3 root root   24 10月 25 23:02 share

環境変数の設定

.bash_profile に以下を追記します

LD_LIBRARY_PATH=/usr/local/pgsql/lib
export LD_LIBRARY_PATH
PATH=/usr/local/pgsql/bin:$PATH
export PATH

データベースクラスタ作成

データベースクラスタを作成します
まずはデータベース用のディレクトリを作成

# mkdir /usr/local/pgsql/data
# chown postgres:postgres /usr/local/pgsql/data
# ls -ld /usr/local/pgsql/data

データベースクラスタを作成

$ initdb -D /usr/local/pgsql/data --encoding=utf8 --no-locale

以下のメッセージで正常完了を確認

Success. You can now start the database server using:
/usr/local/pgsql/bin/pg_ctl -D /usr/local/pgsql/data -l logfile start

起動確認

最後に起動確認

$ pg_ctl -D /usr/local/pgsql/data/ -l pgsql.log start
waiting for server to start.... done
server started
$ psql
psql (11beta1)
Type "help" for help.
postgres=# select version();
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 11beta1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-16), 64-bit
(1 row)
postgres=# \q
$ /usr/local/pgsql/bin/psql --version
psql (PostgreSQL) 11beta1

PostgreSQL 11 ソースからのインストールはこれで終了です

最後までありがとうございました

コメント