我试图rake db:create db:migrate db:seed
在Rails项目中的ruby内部运行,但出现错误消息FATAL: password authentication failed for user "postgres"
看着其他类似的问题,很多人指出了pg_hba文件中的有效性错误,但是据我所知,这没有问题吗?
local all postgres md5
local all all peer
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
我也遇到了这个问题,sudo -u postgres psql -x -c "select * from pg_user where usename='p
并得到以下信息:
-[ RECORD 1 ]---------
usename | postgres
usesysid | 10
usecreatedb | t
usesuper | t
usecatupd | t
userepl | t
passwd | ********
valuntil |
useconfig |
更多信息:在流浪汉中运行的系统Ubuntu 14.04,带有postgres v9.3。
更新:我按照此处找到的说明创建了一个新的数据库和一个新用户,在此处输入链接描述,将新信息添加到config目录中找到的database.yml文件中,以确保我使用的是数据库用户而不是系统用户。
update-2:这是在database.yml文件开发中找到的信息:
development:
adapter: postgresql
encoding: unicode
host: localhost
database: db1
pool: 5
username: dev1
password: dev1
test:
adapter: postgresql
encoding: unicode
host: localhost
port: 5432
database: db_test1
pool: 5
username: dev1
password: dev1
由于可能存在许多因素,因此可能很难指出设置中的错误。我想我将仅叙述一下我如何使用流浪汉+ rails + postgresql,因此希望对您有所帮助。假设您有一个使用Ubuntu 14.04的全新游民机。
假设您已经为ruby + rails安装了必要的软件包。现在,您将要安装postgresql。
sudo apt-get install postgresql postgresql-contrib libpq-dev
然后您将登录到您的postgresql管理员用户:
sudo su postgres
psql
登录到psql控制台后,通常会创建一个名为的用户vagrant
。我这样做是因为postgresql在登录db控制台时默认使用当前的shell用户作为数据库用户。这更方便(无论如何对我来说)。然后,我也将在控制台中创建数据库。之后,我将数据库的特权授予用户vagrant
。
CREATE USER vagrant WITH PASSWORD 'password';
CREATE DATABASE db1;
GRANT ALL PRIVILEGES ON DATABASE db1 to vagrant;
完成这些步骤后,我只需添加适当的database.yml
配置并运行即可rake db:migrate
。我发现这些工作流程对我来说很有效,而且我从未遇到过任何权限问题。我也从未碰过pg_hba.conf
这种设置。请尝试一下,希望这能解决您的问题。
干杯!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句