Marlock Homes Diary

備忘録。忘れないように書きます。

PostgreSQL 10 インストールメモ

2017/10/5にPostgreSQLのバージョン 10がリリースされたので、
インストールして、新機能を試したいと思います。

環境情報

# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.3 (Maipo)


1.環境準備
1.1.make

# gmake -version
GNU Make 3.82
[省略]


1.2.gcc

# gcc -v
[省略]
gcc version 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC)


1.3. Readline

# yum install readline
Package readline-6.2-10.el7.x86_64 already installed and latest version
Nothing to do

# yum install readline-devel
Package readline-devel-6.2-10.el7.x86_64 already installed and latest version
Nothing to do

1.4. zlib

# yum install zlib
Package zlib-1.2.7-17.el7.x86_64 already installed and latest version
Nothing to do
# yum install zlib-devel
Package zlib-devel-1.2.7-17.el7.x86_64 already installed and latest version
Nothing to do

2.PostgreSQLインストール

2.1.postgresユーザ作成

# useradd postgres10

2.2.ソースの入手と解凍

# cd /usr/local/src/
# wget https://ftp.postgresql.org/pub/source/v10.0/postgresql-10.0.tar.gz
# tar xvzf postgresql-10.0.tar.gz
# chown -R postgres10:postgres10 postgresql-10.0

2.3.コンパイル

# su - postgres10
$ cd /usr/local/src/postgresql-10.0/
$ ./configure
$ gmake world ※
(省略)
PostgreSQL, contrib, and documentation successfully made. Ready to install.

※ドキュメント(HTMLやman)や追加モジュール(contrib)を含め、構築可能なもの全てを構築したい場合、上記の様にworldを付与して実行

2.4.リグレーションテスト

$ gmake check
(省略)
=======================
 All 178 tests passed.
=======================
(省略)

2.5.インストール

$ su
# gmake install-world
(省略)
PostgreSQL, contrib, and documentation installation complete.


2.6.インストールディレクトリの所有者変更

# cd /usr/local/
# chown -R postgres10:postgres10 pgsql/

2.7.postgres用ユーザの環境変数設定

# su - postgres10
$ vi .bash_profile
(下記を設定)

# PostgreSQL
export POSTGRES_HOME=/usr/local/pgsql
export PGDATA=/home/postgres10/data
export PATH=$PATH:$POSTGRES_HOME/bin
export PGLIB=/usr/local/pgsql/lib
export MANPATH="$MANPATH":$POSTGRES_HOME/man
export LD_LIBRARY_PATH=/usr/local/pgsql/lib:$LD_LIBRARY_PATH

2.7.postgresユーザの環境変数設定読み込み

$ source .bash_profile

2.8.データベースクラスタの作成

$ initdb -E UTF8 --no-locale

2.9.ログ出力設定
# ログのみ出力(その他の設定は省略)

$ vi /home/postgres10/data/postgresql.conf
#logging_collector = off                # Enable capturing of stderr and csvlog
logging_collector = on

2.10.PostgreSQL起動

$ pg_ctl start
waiting for server to start....2017-10-21 22:38:12.421 JST [12521] LOG:  listening on IPv6 address "::1", port 5432
2017-10-21 22:38:12.421 JST [12521] LOG:  listening on IPv4 address "127.0.0.1", port 5432
2017-10-21 22:38:12.622 JST [12521] LOG:  listening on Unix socket "/tmp/.s.PGSQL.5432"
2017-10-21 22:38:13.032 JST [12521] LOG:  redirecting log output to logging collector process
2017-10-21 22:38:13.032 JST [12521] HINT:  Future log output will appear in directory "log".
. done
server started


以上