1

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

与数据库服务器有关:

  1. 我的 IP 表允许端口上的所有 TCP 访问5432
  2. 我创建了一个 Postgres 数据库,可以使用psqlshell 毫无问题地打开和查询,使用foo1用户
  3. 我已经安装了psychpg2
  4. 我的 Django 应用程序配置了默认数据库(实际上是唯一配置的数据库)以使用我的服务器的 IP 在 port 5432,使用foo1用户,密码设置为foo1's password
  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
4

1 回答 1

1

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

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

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

于 2012-12-21T20:42:19.383 回答