我有一个基于 web.py 和 peewee 的小程序。部署到 heroku 很顺利,我有一个数据库正在运行,但是如何配置 peewee 以使用 heroku postgress 数据库?
peewee 文档没有透露任何有用的信息http://peewee.readthedocs.org/en/latest/peewee/api.html#PostgresqlDatabase
我努力了
db = PostgresqlDatabase('database', user='user', password='password', host='host')
忘记了“heroku 日志”中的日志片段
2013-04-15T17:11:21.093479+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/peewee.py", line 1639, in connect
2013-04-15T17:11:21.093255+00:00 app[web.1]: File "/app/myapp.py", line 5, in <module>
2013-04-15T17:11:21.093479+00:00 app[web.1]: self.__local.conn = self._connect(self.database, **self.connect_kwargs)
更新 我试图将 postgresql 设置更改为
db = PostgresqlDatabase("dbname='template1' user='dbuser' host='localhost' password='dbpass'")
现在我得到
2013-04-16T19:11:02.345227+00:00 app[web.1]: db.connect()
2013-04-16T19:11:02.345227+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/peewee.py", line 1639, in connect
2013-04-16T19:11:02.345227+00:00 app[web.1]: self.__local.conn = self._connect(self.database, **self.connect_kwargs)
2013-04-16T19:11:02.345227+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/peewee.py", line 1810, in _connect
2013-04-16T19:11:02.345582+00:00 app[web.1]: return psycopg2.connect(database=database, **kwargs)
2013-04-16T19:11:02.345582+00:00 app[web.1]: conn = _connect(dsn, connection_factory=connection_factory, async=async)
2013-04-16T19:11:02.345582+00:00 app[web.1]: File "/app/.heroku/python/lib/python2.7/site-packages/psycopg2/__init__.py", line 164, in connect
2013-04-16T19:11:02.345582+00:00 app[web.1]: psycopg2.OperationalError: could not connect to server: No such file or directory
2013-04-16T19:11:02.345582+00:00 app[web.1]: Is the server running locally and accepting
2013-04-16T19:11:02.345582+00:00 app[web.1]: connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?