Amazon Linux の PostgreSQL を最新にする手順


以下は、2017年1月31日時点の情報です。

Amazon Linux の PostgreSQL は 9.5.4 これを最新の 9.6.1 にバージョンアップする手順を解説します。

注意点
* sudoは、省略しているので、適宜追加してから実行してください。
* パスの設定時は各環境で異なる可能性があるので、lsなどで確認してから設定してください。

手順
1. PostgresSQL 9.6.1 をインストール
1. ユーザpostgresのホームディレクトリの変更
1. ユーザpostgresのパスワードを設定
1. シェルの設定追加

1. PostgresSQL 9.6.1 をインストール

# 最新のバージョンを探す。
yum list | grep -E 'postgresql..-server' | sort

# 見つかった最新バージョンをインストールする。
# xxx-server を指定すれば、依存関係を確認して他のパッケージもインストールしてくれる。
yum install postgresql96-server

参考: yumでPostgreSQLをインストールしてみよう - Let's postgres

2. ユーザpostgresのパスワードを設定

インストール時点で、ユーザpostgres には、パスワードが設定されていないため、パスワード設定を行う。

passwd postgres

3. ユーザpostgresのホームディレクトリの変更

Amazon Linux では、初期セットアップ時点で、PostgreSQL 9.5.4 がインストール済みのため、ユーザpostgresは、PostgresSQL 9.5.4 でログインするようになっているので、それを Postgres 9.6.1 でログインするように変更する必要がある。

# postgres のホームディレクトリを確認
cat /etc/passwd | grep postgres
結果
postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql95:/bin/bash

ホームディレクトリが /var/lib/pgsql95 となっているため、 /var/lib/pgsql/9.6 に変更する。

# ユーザpostgres でログインする。
su - postgres

# ホームディレクトリを変更する。
usermode -d /var/lib/pgsql/9.6

4. シェル設定の変更

# postgres でログインする。
su - postgres

# シェルの設定ファイルを開く
vi ~/.bash_profile
~/.bash_profile
# たぶん、PGDATA=/var/lib/pgsql95/data となっているので、以下に変更する。
export PGDATA=/var/lib/pgsql/9.6/data

# 既定値でPATHにPostgres9.5.4のパスが設定されれているので、末尾ではなく、先頭に追加する必要がある。
export PATH=/usr/pgsql-9.6/bin/:$PATH

以上で、最新のPostgresが使用できるようになるはずです。