Rails アプリをデフォルトの SQLite データベースで生成しましたが、いくつかのモデルを作成して数回移行した後、それを Postgresql に変更したいと考えています。
postgres gem を Gemfile に追加し、バンドルをインストールしてから、database.yml コードをすべて置き換えました。
development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000
test:
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000
production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000
に
default: &default
adapter: postgresql
encoding: unicode
pool: 5
username: postgres
password: mypass
development:
<<: *default
database: sample_app_development
test:
<<: *default
database: sample_app_test
production:
<<: *default
database: sample_app_production
FATAL: password authentication failed for user "postgres"
パスワードが正しいのにエラーが発生します。手順が足りないからですか?このアプリをサーバーに追加したいことを pg Admin III を使用して PG に伝える必要がありますか? 新しい役割/つながりを作成する必要がありますか?
私はこの問題に数回遭遇しましたが、この特定の問題に対する答えを見つけることができないようです。
実行しようとすると、これが表示されますrake db:drop
:
Couldn't drop sample_app_development : #<PGError: FATAL: role "postgres" does not exist
>
Couldn't drop sample_app_test : #<PGError: FATAL: role "postgres" does not exist
>
=========
Edmunds-MacBook-Pro:sample_app edmundmai$ createuser foo
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) y
Password:
createuser: could not connect to database postgres: FATAL: password authentication failed for user "edmundmai"