Postgresql 不接受密码

Postgresql won't accept password

我刚刚创建了一个新应用并安装了 'pg' gem,创建了一个 psql 用户和数据库,并创建了一个 database.yml 文件。然而,服务器不接受我的密码,即使它是正确的。

以下是我 运行 创建我的用户和数据库的命令:

Project$ sudo -i -u postgres
postgres@user-F243:~$ psql
postgres=# CREATE USER Project WITH PASSWORD 'Project' CREATEDB;
postgres=# CREATE DATABASE Project OWNER Project;

一切顺利完成。然后我创建了以下 database.yml 文件:

development:
  adapter: postgresql
  database: Project
  username: Project
  password: Project
  host: localhost
  pool: 5
  timeout: 5000

test:
  adapter: postgresql
  database: Project
  username: Project
  pool: 5
  timeout: 5000

production:
  adapter: postgresql
  database: Project
  username: Project
  pool: 5
  timeout: 5000

但是当我启动 rails 服务器并尝试加载页面时,我收到此错误:

PG::ConnectionBad
FATAL: password authentication failed for user "Project" FATAL: password authentication failed for user "Project"

Extracted source (around line #56):

#54 ### Convenience alias for PG::Connection.new.
#55    def self::connect( *args )
#56         return PG::Connection.new( *args ) #line 56
#57    end

我尝试了多个不同的密码和 user/database 名称,并且尝试将用户设置为超级用户,但我总是得到相同的结果。我已经做了这一切一百万次并且总是有效。怎么回事??

尝试从 development: 组中删除 host: localhost。我过去遇到过类似的问题,这对我来说已经解决了。

postgres=# CREATE USER Project WITH PASSWORD 'Project' CREATEDB;

此代码创建用户 'project' 而不是 'Project'。如果你真的想在用户名中使用大写,你必须将它们双引号:

postgres=# CREATE USER "Project" WITH PASSWORD 'Project' CREATEDB;

table 和列名也是如此 - 创建和查询它们。