【发布时间】:2015-08-15 16:20:24
【问题描述】:
我正在尝试在 ruby on rails 项目中运行 rake db:create db:migrate db:seed,我收到错误消息 FATAL: password authentication failed for user "postgres"
看了其他类似的问题,很多人指出pg_hba文件中的validity bug,但据我所知,没有问题?
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 在 vagrant box 中运行,带有 postgres v9.3。
更新:我按照此处找到的说明创建了一个新数据库和一个新用户enter link description here,将新信息添加到配置目录中的 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
【问题讨论】:
-
您输入的是正确的密码还是希望在没有密码的情况下连接?
-
@alexius ,我已经在 database.yml 文件中设置了密码,我尝试使用 su - postgres 使用该密码登录,它确实有效吗?
-
当您在 postgres 用户下连接时,您很可能根据您的 pg_hba 文件使用对等身份验证(不需要密码)。应用程序可能连接到 localhost 而不是 unix 套接字并接收密码提示。尝试在 postgres 用户下连接并添加
-h 127.0.0.1以检查密码是否正确。 -
你能告诉我要使用的确切命令格式吗?抱歉,我是新手
-
我是想用 psql:
psql -h 127.0.0.1检查密码是否正确
标签: ruby-on-rails ruby database ruby-on-rails-3 postgresql