Postgresql将不接受密码
我刚刚创建了一个新应用程序并安装了'pg'gem,创建了一个psql用户和数据库,并创建了一个database.yml文件。但是,服务器不会接受我的密码,即使它是正确的。Postgresql将不接受密码
下面是我跑到我创建用户和数据库的命令:
Project$ sudo -i -u postgres
[email protected]:~$ 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;
这同样与表和列名 - 无论是创建和查询他们。
这太疯狂了,如果是那种挑剔的话,我会认为他们会包括一些关于案件的事情。谢谢! –
您可以在文档中找到更多信息 - SQL语法/词法结构/标识符和关键字。 –
尝试从development:
组中删除host: localhost
。过去我遇到过类似的问题,这为我解决了问题。
你可以试试小写用户名吗?在PostgresSQL中使用大写用户名非常棘手。您没有引用名称,而是实际创建了用户“项目”而不是“项目”。 –
@TomaszMyrta Wooow,是的,就是这样。谢谢。从来不会猜到案件会起作用。 –
“pg_hba.conf”文件中为该用户分配的认证方法是什么? – Nicarus