我正和朋友一起做项目。我从bitbucket克隆了应用程序。除了postgresql(v9.3.7)之外,一切都很好。它不断给我以下信息。
psql: FATAL: password authentication failed for user "ubuntu"
FATAL: password authentication failed for user "ubuntu"
我创建了一个超级用户以及所有数据库。下面给出了指定用户和所有数据库的列表。
ubuntu=# \du
List of roles
Role name | Attributes | Member of
-----------+------------------------------------------------+-----------
divjot | Superuser | {}
postgres | Superuser, Create role, Create DB, Replication | {}
ubuntu | Superuser, Create role, Create DB | {}
List of databases
Name | Owner | Encoding | Collate | Ctype | Access privileges
-----------------+----------+-----------+---------+-------+-----------------------
app_development | ubuntu | SQL_ASCII | C | C |
app_production | ubuntu | SQL_ASCII | C | C |
app_test | ubuntu | SQL_ASCII | C | C |
postgres | postgres | SQL_ASCII | C | C |
template0 | postgres | SQL_ASCII | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
template1 | postgres | SQL_ASCII | C | C | =c/postgres +
| | | | | postgres=CTc/postgres
ubuntu | ubuntu | SQL_ASCII | C | C |
我一直在使用rails中的postgresql配置。我完全遵循文档,但是,每次尝试克隆应用程序或移动代码时,我总会遇到问题。我不知道为什么我会收到这个错误。任何有关这方面的帮助将不胜感激。谢谢!
答案 0 :(得分:1)
免责声明:我不是pgsql的专家。但我已成功在多个版本和环境中设置pg / rails。这就是我的建议。
找到pg_hba.conf
文件。由于您显然使用的是Ubuntu,请尝试
cd /
find . -name pg_hba.conf -print 2> /dev/null
这会搜索整个磁盘,这需要一段时间。但最终它将提供路径。如果它产生多个,你将必须解决哪一个是正确的。
如果您知道PG的安装位置,cd
而不是root。
现在
验证用户ubuntu
的身份验证方法是password
还是md5
。 Here是相关的文档页面。如果您只对本地开发感兴趣,可以将password
更改为trust
。但如果这是用于生产,这是一个坏主意。
登录pg
命令行后,运行
ALTER USER ubuntu PASSWORD 'newpassword';
确保密码符合您的预期。
您应该发布database.yaml
或ENV['DATABASE_URL']
个设置。通常,database.yaml
需要精确匹配pg所期望的内容。
例如:
development:
adapter: postgresql
encoding: unicode
database: app_development
pool: 5
username: ubuntu
password: <your password>
allow_concurrency: true
警告:如果您没有完全控制回购,请不要将生产密码提交到您的回购或甚至是开发密码。