Make Healthy Life

最近はSQLばっかり書いてるWebエンジニアの日記です。

railsでPostgreSQLを使おうとしたらプチはまりした

いつもMySQLをバリバリ使ってるんだけど、せっかくだしPostgreSQLを使いたい!と思って手を出したらちょっとはまって痛い目をみたので、まとめとく。
環境はVMware FusionCentOS 6。

インストール

普通にyumだと古いバージョン(version 8)がインストールされるので、公式サイトのやり方を。
このへんは以下記事の通り。
PostgreSQL9.3をCentOS6にyumで入れて設定するまでの手順まとめ | IDEA*IDEA

Railsからのアクセス

rails sでサーバーを起動させて、ブラウザからアクセスすると、「peer authentication failed」となる。
この原因は、PostgreSQLが標準でUNIXのユーザーと同名のユーザーからのアクセスしか認証しない設定になっているためらしい。
いろいろ試して試行錯誤したけど、結局開発するだけなので、以下のように/var/lib/pgsql/9.3/data/pg_hba.confの80行目の最後をpeerからtrustへ編集してOKだった。

# "local" is for Unix domain socket connections only
local   all             all             trust

外部からのアクセスなどを考慮する場合はもっと考えて設定しないとだな〜
とりあえずRailsのローカルアプリからアクセスするだけなら、これでいいのかな?