1

両方のサーバーは私のホストマシン上のVirtualBoxサーバーであり、この問題を除いて(ネットワークを除外するのに十分なことを知りません)、それらの間で問題なくネットワークを構築できます(一方から他方へのsshなど)。考えられる原因として)。

データベース サーバーに関するもの:

  1. 私の IP テーブルは、ポート上のすべての TCP アクセスを許可します5432
  2. ユーザーpsqlを使用して、シェルを使用して問題なく開いてクエリできるPostgresデータベースを作成しましたfoo1
  3. 私はpsychopg2をインストールしました
  4. 私の Django アプリケーションは、デフォルトのデータベース (実際には構成されている唯一のデータベース) で構成され、ポート5432でサーバーの IP を使用し、foo1ユーザーを使用し、パスワードをfoo1's passwordに設定します
  5. Ubuntu 12.04.1 で Postgres 9.2 を使用し、最新の Psychopg2 と Django 1.5 ベータ版を使用しています

このエラーは、psychopg2 の最初の接続試行によるものであり、エラー メッセージはありません (それ以外の場合は、これを確認する必要はないかもしれません)。それは単に、OperationalErrorです。したがって、私の質問は、より具体的には次のとおりです。この問題を引き起こしている可能性のある、そのリストから除外したより明白なものは何ですか.

トレースバック - 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 に答える