gpt4 book ai didi

django - 为什么我的 Django 应用程序无法访问我的 Postgres 服务器?

转载 作者:行者123 更新时间:2023-11-29 13:35:24 25 4
gpt4 key购买 nike

两台服务器都是我主机上的 VirtualBox 服务器,我能够在它们之间很好地联网(从一个服务器到另一个服务器,等等),除了这个问题(我不太了解排除网络作为潜在原因)。

关于数据库服务器:

  1. 我的 IP 表允许端口 5432 上的所有 TCP 访问
  2. 我已经创建了一个 Postgres 数据库,可以使用 psql shell 打开和查询,使用 foo1 用户
  3. 我已经安装了 psychopg2
  4. 我的 Django 应用程序配置了默认数据库(实际上是唯一配置的数据库),使用 foo1 用户在 5432 端口使用我服务器的 IP ,密码设置为foo1的密码
  5. 我在 Ubuntu 12.04.1 上使用 Postgres 9.2 以及最新的 psychopg2 和 Django 1.5 beta

错误来自 psychopg2 的初始连接尝试并且没有错误消息(否则,我可能不必问这个)。很简单,OperationalError。因此,更具体地说,我的问题是:我从该列表中遗漏了哪些更明显的事情,这些事情可能会导致此问题。

Traceback - 来自 uWSGI 日志,所以没有上下文 :(

# ... 10 + frames above here ommitted, since the they amount to
# essentially MyModel.objects.get(pk=1)

File "/var/www/myapp/deps/current/venv/local/lib/python2.7/site-packages/django/db/backends/__init__.py", line 316, in cursor
cursor = util.CursorWrapper(self._cursor(), self)

File "/var/www/myapp/deps/current/venv/local/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 210, in _cursor
self.connection = self.get_new_connection(conn_params)

File "/var/www/myapp/deps/current/venv/local/lib/python2.7/site-packages/django/db/backends/postgresql_psycopg2/base.py", line 183, in get_new_connection
return Database.connect(**conn_params)

File "/var/www/myapp/deps/current/venv/local/lib/python2.7/site-packages/psycopg2/__init__.py", line 178, in connect
return _connect(dsn, connection_factory=connection_factory, async=async)

OperationalError

最佳答案

您只能安装 PostgreSQL 客户端,这将为您提供 psql。

对于 Windows,安装 ODBC 驱动程序,您将获得 psql。在这里获取: PostgreSQL ODBC Driver

在 Linux 上,你的包管理器应该有一个 postgresql-client-XXX 包。例如,在 Ubuntu 中它被称为 postgresql-client-9.1。

关于django - 为什么我的 Django 应用程序无法访问我的 Postgres 服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13962909/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com