【发布时间】:2011-02-22 02:18:39
【问题描述】:
执行时出现“psycopq2.OperationalError”:python manage.py syncdb。 使用 djangostack 脚本进行测试时,postgresql 服务器似乎已启动并正在运行。 有人遇到过这个吗?只需阅读 django 教程并进行设置。该框架的完整新手...我在这个论坛上发现了很多类似的问题,但似乎没有一个完全匹配...谢谢!
Traceback (most recent call last):
File "manage.py", line 11, in <module>
execute_manager(settings)
File "/Applications/djangostack-1.2.5-0/apps/django/lib/python2.6/site-packages/django/core/management/__init__.py", line 438, in execute_manager
utility.execute()
File "/Applications/djangostack-1.2.5-0/apps/django/lib/python2.6/site-packages/django/core/management/__init__.py", line 379, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/Applications/djangostack-1.2.5-0/apps/django/lib/python2.6/site-packages/django/core/management/base.py", line 191, in run_from_argv
self.execute(*args, **options.__dict__)
File "/Applications/djangostack-1.2.5-0/apps/django/lib/python2.6/site-packages/django/core/management/base.py", line 220, in execute
output = self.handle(*args, **options)
File "/Applications/djangostack-1.2.5-0/apps/django/lib/python2.6/site-packages/django/core/management/base.py", line 351, in handle
return self.handle_noargs(**options)
File "/Applications/djangostack-1.2.5-0/apps/django/lib/python2.6/site-packages/django/core/management/commands/syncdb.py", line 56, in handle_noargs
cursor = connection.cursor()
File "/Applications/djangostack-1.2.5-0/apps/django/lib/python2.6/site-packages/django/db/backends/__init__.py", line 75, in cursor
cursor = self._cursor()
File "/Applications/djangostack-1.2.5-0/apps/django/lib/python2.6/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 136, in _cursor
self.connection = Database.connect(**conn_params)
psycopg2.OperationalError: could not connect to server: No such file or directory
Is the server running locally and accepting
connections on Unix domain socket "/tmp/.s.PGSQL.5432"?
【问题讨论】:
-
尝试通过网络连接而不是 unix 域套接字进行连接。通常这更容易设置。
-
嗯,这听起来在我头上 :) 这个功能不应该在默认连接下工作吗?一定还有其他我做错的事情......在Windows下更容易设置django开发环境吗?到目前为止,这在 OSX 下一直很痛苦......
-
试过了,这个很好的解决方案link 但在 django 的 settings.py 和 postgresql.conf 中将端口设置为相同的数字后,我仍然收到消息。 Bitnami 的 djangostack,顺便说一句,将端口硬编码到他们的启动脚本 djangostack-1.2.5-0/postgresql/scripts/ctl.sh 中,它会覆盖你在 postgresql.conf 中所做的任何事情。即改为在那里更改。
-
最终答案:我安装的 bitnami 的 djangostack 1.2.5 在 django 项目的 settings.py 中将“postgres”设置为与 postgresql 一起使用的用户名。堆栈的制造者从来没有告诉你他们已经做到了。除此之外,bitnami 的堆栈效果很好。
标签: django psycopg2 manage.py django-postgresql psycopg