LoginSignup
3
2

More than 5 years have passed since last update.

Cloud9 + PostgreSQL + Rails db:migrate で 「FATAL: Ident authentication failed for user」エラーを解決する方法

Posted at

postgresql のインストールと初期化

ec2-user$
sudo yum -y install postgresql96
sudo yum -y install postgresql96-devel
sudo yum -y install postgresql96-server

sudo /etc/init.d/postgresql96 initdb

postgresユーザに切り替え、DBユーザーを作成

ec2-user$
sudo -u postgres -i
-bash-4.2$
psql
createuser -d -U postgres -P [USERNAME]
logout

【重要】pg_hba.conf を変更し、接続できるクライアントを設定する

pg_hba.conf については、他ホストから接続するための設定 が詳しいのでそちらを参照してください。

ec2-user:~/environment/project
sudo vi /var/lib/pgsql96/data/pg_hba.conf
pg_hba.conf
# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
- host    all             all             127.0.0.1/32            ident
+ host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 ident
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            ident
#host    replication     postgres        ::1/128                 ident

最初、local all alltrust に変更しましたが、Rails->PostgreSQL はTCPを利用したアクセスになるため host all all 127.0.0.1/32 を変更する必要があるようです。

PostgreSQLデータベースにアクセスできないときの対処法 - のほほん徒然

RailsがPostgreSQLにアクセスする際にUNIX socketではなくTCP socketを利用していて,TCPを利用したアクセスではpasswordによるユーザ認証がPostgreSQLの設定で許可されていないことが原因のようです.

postgresqlの起動とDBセットアップまで

sudo /etc/init.d/postgresql96 start
rails db:setup

参考

留意点

パッケージ管理も apt-get をつかっていました。公開時点(2017/09/16)から1年ほどしか経過していません。
今後のアップデートによって変更される可能性に注意しておく必要があります。

サービス周りのコマンド集

DB初期化
sudo /etc/init.d/postgresql96 initdb
スタート
sudo /etc/init.d/postgresql96 start
再起動
sudo /etc/init.d/postgresql96 restart
3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2