したいこと
EC2にデプロイしたアプリ上でrake db:create RAILS_ENV=productionをしたい。
RDSを使わない形でec2の本番環境にデプロイをしようと思っています。
rake db:create RAILS_ENV=productionをしたところ、以下のエラーが表示されました。
[shogo@ip-10-0-0-193 Portfolio]$ rake db:create RAILS_ENV=production /home/shogo/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/bundler/gems/bootstrap-rubygem-ef343b781ca1/lib/bootstrap/version.rb:4: warning: already initialized constant Bootstrap::VERSION /home/shogo/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/bootstrap-sass-3.4.1/lib/bootstrap-sass/version.rb:2: warning: previous definition of VERSION was here /home/shogo/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/bundler/gems/bootstrap-rubygem-ef343b781ca1/lib/bootstrap/version.rb:5: warning: already initialized constant Bootstrap::BOOTSTRAP_SHA /home/shogo/.rbenv/versions/2.6.3/lib/ruby/gems/2.6.0/gems/bootstrap-sass-3.4.1/lib/bootstrap-sass/version.rb:3: warning: previous definition of BOOTSTRAP_SHA was here FATAL: pg_hba.conf ????"127.0.0.1"????"postgres"???????"postgres, SSL?????????????? Couldn't create 'portfolio' database. Please check your configuration. rake aborted! ActiveRecord::NoDatabaseError: FATAL: pg_hba.conf ????"127.0.0.1"????"postgres"???????"postgres, SSL?????????????? Caused by: PG::ConnectionBad: FATAL: pg_hba.conf ????"127.0.0.1"????"postgres"???????"postgres, SSL?????????????? Tasks: TOP => db:create (See full trace by running task with --trace) [shogo@ip-10-0-0-193 Portfolio]$
###考察
pg_hba.confファイルの設定方法が悪いと思うのですが、どの設定方法が正しいのかわかりません。
こちらの記事を参考に作業をしていました。
https://note.com/agw/n/nd98194bf135d
sudo nano /var/lib/pgsql/data/pg_hba.confは以下の通りです。
# TYPE DATABASE USER ADDRESS METHOD # "local" is for Unix domain socket connections only local all all trust # IPv4 local connections: # host all all 127.0.0.1/32 ident host all all 192.168.0.0/16 password # 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
アドバイスでも良いのでどなたかわかる方がいればアドバイスをお願いします。
追記
config/databse.yml
default: &default adapter: postgresql encoding: unicode username: ユーザー名 password: パスワード # ご自身のpostgresqlに登録してあるユーザ名にしてください。 # username: <%= ENV.fetch('POSTGRES_USER', 'ユーザ名') %> # password: <%= ENV.fetch('POSTGRES_PASSWORD', 'パスワード') %> # docker-composeのPOSTGRES_PASSWORDと揃える。 pool: 5 host: <%= ENV.fetch('DATABASE_HOST', 'localhost') %> # docker-composeのサービス名にする。 port: <%= ENV.fetch('DATABASE_PORT') { 5432 } %> development: <<: *default database: portfolio_development test: <<: *default database: portfolio_test production: <<: *default database: portfolio
回答1件
あなたの回答
tips
プレビュー