Postgresql 不接受密码



我刚刚创建了一个新应用程序并安装了"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

我尝试了多个不同的密码和用户/数据库名称,并尝试使用户成为超级用户,但我总是得到相同的结果。我已经做了一百万次,而且总是有效。这是怎么回事??

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

此代码创建用户"项目"而不是"项目"。如果你真的想在用户名中使用大写,你必须用双引号括起来:

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

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

尝试从development:组中删除host: localhost。我过去遇到过类似的问题,这为我解决了这些问题。

最新更新