PostgreSQL12インストール
PostgreSQLのバージョン 12がリリースされたので、インストールして新機能などを試していきたいと思います。
とりあえずはインストール。
環境情報
# cat /etc/redhat-release CentOS Linux release 7.5.1804 (Core)
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-36) (GCC)
1.3. Readline
# yum install readline Package readline-6.2-11.el7.x86_64 already installed and latest version Nothing to do # yum install readline-devel Package readline-devel-6.2-11.el7.x86_64 already installed and latest version Nothing to do
1.4. zlib
# yum install zlib Package zlib-1.2.7-18.el7.x86_64 already installed and latest version Nothing to do # yum install zlib-devel Package zlib-devel-1.2.7-18.el7.x86_64 already installed and latest version Nothing to do
2.PostgreSQLインストール
2.1.postgresユーザ作成
# useradd postgres12
2.2.ソースの入手と解凍
# cd /usr/local/src/ # wget https://ftp.postgresql.org/pub/source/v12.0/postgresql-12.0.tar.gz # tar xvzf postgresql-12.0.tar.gz # chown -R postgres12:postgres12 postgresql-12.0
2.3.コンパイル
# su - postgres12 $ cd /usr/local/src/postgresql-12.0/ $ ./configure $ gmake world ※ (省略) PostgreSQL, contrib, and documentation successfully made. Ready to install.
※ドキュメント(HTMLやman)や追加モジュール(contrib)を含め、構築可能なもの全てを構築したい場合、上記の様にworldを付与して実行
2.4.リグレーションテスト
$ gmake check (省略) ======================= All 192 tests passed. ======================= (省略)
2.5.インストール
$ su # gmake install-world (省略) PostgreSQL, contrib, and documentation installation complete.
2.6.インストールディレクトリの所有者変更
# cd /usr/local/ # chown -R postgres12:postgres12 pgsql/
2.7.postgres用ユーザの環境変数設定
# su - postgres12 $ vi .bash_profile (下記を設定) # PostgreSQL export POSTGRES_HOME=/usr/local/pgsql export PGDATA=/home/postgres12/data export PATH=$PATH:$POSTGRES_HOME/bin export PGLIB=/usr/local/pgsql/lib export PGUSER=postgres12 export PGDATABASE=postgres 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/postgres12/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....2019-10-27 16:57:59.091 JST [17115] LOG: starting PostgreSQL 12.0 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-36), 64-bit 2019-10-27 16:57:59.093 JST [17115] LOG: listening on IPv6 address "::1", port 5432 2019-10-27 16:57:59.093 JST [17115] LOG: listening on IPv4 address "127.0.0.1", port 5432 2019-10-27 16:57:59.139 JST [17115] LOG: listening on Unix socket "/tmp/.s.PGSQL.5432" 2019-10-27 16:57:59.177 JST [17115] LOG: redirecting log output to logging collector process 2019-10-27 16:57:59.177 JST [17115] HINT: Future log output will appear in directory "log". done server started
以上