EC-CUBEの開発を少しすることになり、、久しぶりのPostgreSQLだったので開発環境もRDSに作成したのですが、、、
開発環境にしてはちょーっとお値段がかかっておりました(月額数千円ですが)。このため、とりあえず開発環境についてはWebサーバと同居させたときのメモ。
PostgreSQLのインストール
yumで確認したところ、2017/03/29段階でAWS Linuxでインストール可能なPostgreSQLの最新版は9.5系でした。まずは、そちらをインストール。
$ yum install postgresql95*
PostgreSQLの設定
インストール完了後にDB初期化
$ service postgresql95 initdb $ service postgresql95 start
DB領域を作成してロールを設定
$ su postgres $ psql postgres=# create database hogehoge; postgres=# create role hogehogeuser with login encrypted password 'hogehogepass'
これで設定完了と、psqlをやってみると・・・エラー
$ psql -U hogehogeuser -h localhost hogehoge psql: FATAL: Ident authentication failed for user "hogehogeuser"
おやおやー、と/var/lib/pgsql95/data/pg_hba.confを眺めてみると、
# IPv4 local connections: host all all 127.0.0.1/32 ident
こちらの設定が影響している模様なので、認証方式をmd5に変更。
# IPv4 local connections: # host all all 127.0.0.1/32 ident host all all 127.0.0.1/32 md5
サーバのほうをrestartさせて、、localhostで接続ができるようになりました。
環境はできたので、RDSのPostgreSQLからpg_dumpしたデータを新DBに流し込んで、、database.ymlの接続先をlocalhostに変更して、、無事移行完了しました。
と、、localhostで接続できないと、EC-CUBEもlocalhost指定で接続できなかったというちょいハマりがあったため、、備忘メモ。