26

取得:

An error has occurred:

Error connecting to the server: fe_sendauth: no password supplied

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

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

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

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

4

4 に答える 4

62

あなたはあなたの変更を変更する必要があります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

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

于 2012-09-17T01:48:56.053 に答える
11

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

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

デフォルトはmd5列にありますが、それらすべてを:METHODに置き換えます。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 / PostgreSQL9.X内でpgAdminIIIを開き、データベースを右クリックして(例PostgreSQL 9.4 (localhost))、をクリックしますReload Configuration。この後、私はすることができましたrake db:create

于 2015-10-11T19:08:36.727 に答える
0

パスワードが提供されていないということは、パスワード認証を要求するように設定されており、パスワードが提供されていないことを意味します。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ドメインソケット接続用であり、ホストローカルホストはローカルホストへのネットワーク接続用です。したがって、トラブルシューティングを行う必要があるように思われますが、ドキュメントが役立つことを願っています。

于 2012-09-17T06:33:57.917 に答える
0
#appveyor.yml
services: postgresql
test_script:
  - SET PGUSER=postgres
  - SET PGPASSWORD=Password12!
  - PATH=C:\Program Files\PostgreSQL\9.6\bin\;%PATH%
于 2017-07-16T16:20:51.143 に答える