【发布时间】:2013-06-06 20:12:23
【问题描述】:
我知道有很多与类似问题相关的问题,但我认为我有一个尚未解决的特定问题。我正在尝试创建我的本地 postgresql 数据库,以便除了推送到 Heroku 之外,我还可以进行本地开发。
例如,我已经找到了有关如何执行此操作的基本答案(我认为这有点过时了):
'#DATABASES = {'default': dj_database_url.config(default='postgres://fooname:barpass@localhost/dbname')}'
这解决了“ENGINE”未配置错误。但是,当我运行“python manage.py syncdb”时,出现以下错误:
'OperationalError: FATAL: password authentication failed for user "foo"
FATAL: password authentication failed for user "foo"'
所有可能的用户名/密码组合都会发生这种情况。所以我的 ubuntu 用户名/密码、我的 heroku 用户名/密码等。如果我只是尝试取出 Heroku 组件并在本地构建它,就好像我在遵循教程时使用 postgresql 一样,也会发生这种情况。由于我还没有数据库,这些用户名/密码值到底指的是什么?问题就是我需要先创建一个数据库吗?如果有怎么办?
作为旁注,我知道我可以使用此处概述的过程从 heroku 获取数据库:Should I have my Postgres directory right next to my project folder? If so, how?
但是假设我要这样做,新的数据库将在哪里运行,django 将如何知道如何访问它,我是否会遇到相同的用户/密码问题?
非常感谢。
【问题讨论】:
-
你能发布你的整个
settings.py吗? -
我记得,对于 nix 操作系统,您必须至少拥有名为
postgres的初始用户才能访问 postgres DB。我对 PG 的体验受到 Win、Ubunru 和 CentOS 的限制。尝试执行 pg_ctl status。然后查看您的操作系统是否接受通过 TCP 协议对 Postgres 的调用;接下来,检查 postgres config pg_hba.conf 以获取可接受的地址。等等。最简单的方法是问谷歌:“PostgreSQL” [YourOSName] 是的,python 与其他 DBMS 的 PG 没有任何关系。
标签: django postgresql heroku