我知道这里有成千上万的像这样的任务,但我已经看到了所有这些,我仍然无法处理我的问题。
我正在使用ansible做所有事情,所以它非常自动化,但无论如何,这是我的文件:
local all all trust
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
host all all 10.11.12.0/24 md5
production:
database: my_db
adapter: postgresql
host: localhost
username: deploy
encoding: unicode
min_messages: WARNING
template: template0
我的系统中创建了一个deploy
用户(以及没有设置密码的postgres用户)。现在,虽然我完全能够使用psql -d my_db
(在服务器上)从bash登录postgres,但我无法使用我的rails应用程序连接到数据库。运行rake db:migrateMigration给了我
PG::ConnectionBad: fe_sendauth: no password supplied
我很擅长开支,而且从前天早上起我就是在与这个问题作斗争,而且它仍然存在,所以如果有人可以帮助我的话,我会感激不尽。
答案 0 :(得分:13)
psql正在使用本地套接字连接,rails通过TCP / IP使用localhost。本地是可信的,localhost需要密码(使用md5)。您可以为rails用户设置pgpass文件:http://www.postgresql.org/docs/current/static/libpq-pgpass.html
答案 1 :(得分:0)
在C中你可以这样做,我甚至不知道Rails是什么
conninfo = "hostaddr = 127.0.0.1 dbname = bitcoin user = alan password = mypass";
conn = PQconnectdb(conninfo);
我有完全相同的错误消息。