ruby-on-rails - PostgreSQL 用户的身份验证错误?

标签 ruby-on-rails ruby database ruby-on-rails-3 postgresql

我正在尝试在 ruby​​ on rails 项目中运行 rake db:create db:migrate db:seed,我收到一条错误消息说 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 在 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

最佳答案

由于可能有很多因素,因此很难指出您的设置中的错误所在。我想我会试着讲述我是如何使用 vagrant + rails + postgresql 的,所以我希望这对你有帮助。这假设您有一个带有 Ubuntu 14.04 的全新 vagrant box。

假设您已经为 ruby​​ + rails 安装了必要的包。现在您要安装 postgresql。

sudo apt-get install postgresql postgresql-contrib libpq-dev

然后您将登录到您的 postgresql 管理员用户:

sudo su postgres
psql

一旦登录到 psql 控制台,我通常会创建一个名为 vagrant 的用户。我这样做是因为 postgresql 在登录数据库控制台时默认使用当前 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。请试试这个,我希望这能解决您的问题。

干杯!

关于ruby-on-rails - PostgreSQL 用户的身份验证错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30586513/

相关文章:

mysql - 制作新的 Rails 应用程序时出错

ruby-on-rails - 将 ruby​​ 中的日期转换为自定义格式

ruby-on-rails - 带回形针的固定装置

ruby - Github 服务/Ruby Gem "eventmachine"Mac 安装问题

sql-server - T-SQL 使用名称变量恢复数据库

sql - 什么是 Visio Enterprise Architect 的良好替代品?

mysql - 返回客户列表和平均租金金额 (Sakila)

ruby-on-rails - Gem::RemoteFetcher::FetchError 与 gems.github.com

sql - 条件不工作的 Rails ActiveRecord Sum

ruby - 编写无损移位的最紧凑方式