Mic*_*ant 26 ruby passwords postgresql ruby-on-rails pg
获得:
An error has occurred:
Error connecting to the server: fe_sendauth: no password supplied
Run Code Online (Sandbox Code Playgroud)
设置database.yml与其他计算机上的应用程序设置相同.
如何设置以便我不需要硬编码的密码?
我可以使用PgAdmin-III查看db ok.
我宁愿没有密码,database.yml因为使用这个应用程序的其他机器没有/需要它,所以它似乎可能与我的Pg安装有关.
Rod*_*rek 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
Run Code Online (Sandbox Code Playgroud)
请注意,这trust意味着任何人address(在本例中为localhost)都可以作为列出的用户(或者在这种情况下是他们选择的任何用户)进行连接.这实际上仅适用于具有不重要数据的开发配置.不要在生产中使用它.
Jac*_*ack 10
@ rodrigo-zurek是当场的; 你必须改变pg_hba.conf.只想为OSX用户添加此答案,因为pg_hba.conf默认情况下它位于不同的位置.
sudo su - postgres
vim /Library/PostgreSQL/<YOUR_VERSION>/data/pg_hba.conf
Run Code Online (Sandbox Code Playgroud)
默认将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
Run Code Online (Sandbox Code Playgroud)
然后,在Applications/PostgreSQL 9.X中打开pgAdmin III,右键单击数据库(例如PostgreSQL 9.4 (localhost)),然后单击Reload Configuration.在此之后,我能够rake db:create.