以下は、2017年1月31日時点の情報です。
Amazon Linux の PostgreSQL は 9.5.4 これを最新の 9.6.1 にバージョンアップする手順を解説します。
注意点
-
sudo
は、省略しているので、適宜追加してから実行してください。 - パスの設定時は各環境で異なる可能性があるので、
ls
などで確認してから設定してください。
手順
- PostgresSQL 9.6.1 をインストール
- ユーザpostgresのホームディレクトリの変更
- ユーザpostgresのパスワードを設定
- シェルの設定追加
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が使用できるようになるはずです。