【问题标题】:django/postgresql setup - psycopq2.OperationalErrordjango/postgresql 设置 - psycopq2.OperationalError
【发布时间】: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


【解决方案1】:

总结一个答案中的cmets,基本问题是Bitami需要在其他文件中设置设置。

  1. 端口必须在djangostack-1.2.5-0/postgresql/scripts/ctl.sh中设置

  2. 其他一些设置,包括 postgres 的用户名,在 settings.py 中设置,因此可能也需要更改。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-03-26
    • 2016-10-03
    • 2015-05-09
    • 2013-07-20
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 2021-02-08
    相关资源
    最近更新 更多