1

次のようにポート80でwebrickを実行しようとすると、postgresエラーが発生します。

rvmsudo rails s -p 80

次に、このエラーが発生します。

Users/user/.rvm/gems/ruby-1.9.3-p194@app/gems/activerecord-3.2.12/lib/active_record/connection_adapters/postgresql_adapter.rb:1208:in `initialize': FATAL:  role "root" does not exist (PG::Error)

さらに、スタックトレースにはさらに多くの機能があります。

ユーザーをrootdatabase.ymlに変更しようとしましたが、うまくいきませんでした。助言がありますか?

編集:本番用ではなく、ローカルで実行しようとしています。

4

1 に答える 1

0

まず、運用 Web サーバーをルートとして実行しないことに同意します。それはただの悪い考えです。

ここで何が起こっているかというと、PostgreSQL のログイン資格情報を提供していないため、プロセス所有者の名前が送信され、パスワードは送信されていません。また、明らかに PostgreSQL 側でパスワードを必要としない認証方法を使用しています。tcp/ip (ホストとして localhost を指定) 経由で接続し、 の認証タイプpg_hba.confが に設定されていることを確認するmd5ことをお勧めします (ただし、この証明書認証を実行できない場合は、クライアント証明書で問題ない可能性があります)。

そこから、ユーザー名とパスワードが正しく指定されていることを確認します。

于 2013-05-05T08:21:31.737 に答える