web-dev-qa-db-ja.com

RORアプリのpostgresをセットアップしようとしてエラーが発生する-fe_sendauth:パスワードが指定されていません

取得:

An error has occurred:

Error connecting to the server: fe_sendauth: no password supplied

database.ymlの設定は、他のマシンでのアプリのセットアップと同じです。

パスワードをハードコーディングする必要がないように設定するにはどうすればよいですか?

PgAdmin-IIIを使用してdb okを表示できます。

このアプリを使用する他のマシンが持っていない/必要としないので、database.ymlにパスワードを入れたくないので、私のPgインストールに関する何かのようです。

26
Michael Durrant

変更を変更する必要がありますpg_hba.conf。これが私の例です:

pg_hba.conf

TYPE  DATABASE        USER            ADDRESS                 METHOD

Host    all             all             127.0.0.1/32            trust

Host    all             PC             127.0.0.1/32            trust

Host    all             all             ::1/128                 trust

trustは、address(この場合はlocalhost)の誰でもリストされたユーザー(またはこの場合は任意のユーザー)として接続できることを意味します。これは、重要でないデータを使用する開発構成にのみ適しています。 本番環境では使用しないでください

62
Rodrigo Zurek

@ rodrigo-zurekが注目されました。 _pg_hba.conf_を変更する必要があります。 _pg_hba.conf_はデフォルトでは別の場所にあるため、OSXユーザーにこの回答を追加したいだけです。

_Sudo su - postgres
vim /Library/PostgreSQL/<YOUR_VERSION>/data/pg_hba.conf
_

デフォルトでは、列METHODに_md5_が含まれますが、それらすべてをtrustに置き換えます。

_# 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            trust
# IPv6 local connections:
Host    all             all             ::1/128                 trust
_

次に、Applications/PostgreSQL 9.X内でpgAdmin IIIを開き、データベース(例:PostgreSQL 9.4 (localhost))を右クリックして、_Reload Configuration_をクリックします。この後、_rake db:create_ができました。

10
Jack

パスワードが提供されていないということは、パスワード認証を要求するように設定されており、パスワードが提供されていないことを意味します。 9.0のドキュメントは次のとおりです。 http://www.postgresql.org/docs/9.0/static/auth-methods.html

混乱を避けるために、9.1ではローカル認証が「ident」から「peer」に変更されたことに留意してください。 http://www.postgresql.org/docs/9.1/static/auth-methods.html の9.1ドキュメントを参照してください

また、これは最初の一致を制御する順序付けられたルールセットであることに注意してください。さらに、ローカルとローカルホストは異なります。ローカルはローカルUNIXドメインソケット接続用で、ホストlocalhostはローカルホストへのネットワーク接続用です。トラブルシューティングが必要なようですが、ドキュメントが役立つことを願っています。

0
Chris Travers
#appveyor.yml
services: postgresql
test_script:
  - SET PGUSER=postgres
  - SET PGPASSWORD=Password12!
  - PATH=C:\Program Files\PostgreSQL\9.6\bin\;%PATH%
0
Alexey Strizhak