2016-04-30 18 views
1

私はポストグルでdjangoを設定するのが難しいです。ここで致命的:データベースが存在しません

は私のsettings.pyです:

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.postgresql', 
     'HOST': 'localhost', 
     'NAME': 'collector', 
     'USER': 'collector_user', 
     'PASSWORD': 'collector' 
    } 
} 

私はPostgresのファーストステップサイトのように、パスワードのコレクターを持つユーザーcollector_userを作成しました。

postgres=# select nspname from pg_catalog.pg_namespace; 
     nspname  
-------------------- 
pg_toast 
pg_temp_1 
pg_toast_temp_1 
pg_catalog 
public 
information_schema 
collector 
(7 rows) 

そして、ここでは、Djangoはそれについて言いたいことです:また、コレクタスキーマ作成

Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 353, in execute_from_command_line 
    utility.execute() 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 345, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 348, in run_from_argv 
    self.execute(*args, **cmd_options) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 399, in execute 
    output = self.handle(*args, **options) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/migrate.py", line 89, in handle 
    executor = MigrationExecutor(connection, self.migration_progress_callback) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/executor.py", line 20, in __init__ 
    self.loader = MigrationLoader(self.connection) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/loader.py", line 49, in __init__ 
    self.build_graph() 
    File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/loader.py", line 176, in build_graph 
    self.applied_migrations = recorder.applied_migrations() 
    File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/recorder.py", line 65, in applied_migrations 
    self.ensure_schema() 
    File "/usr/local/lib/python2.7/dist-packages/django/db/migrations/recorder.py", line 52, in ensure_schema                   
    if self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor()):                   
    File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 231, in cursor 
    cursor = self.make_debug_cursor(self._cursor()) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 204, in _cursor 
    self.ensure_connection() 
    File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 199, in ensure_connection 
    self.connect() 
    File "/usr/local/lib/python2.7/dist-packages/django/db/utils.py", line 95, in __exit__ 
    six.reraise(dj_exc_type, dj_exc_value, traceback) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 199, in ensure_connection 
    self.connect() 
    File "/usr/local/lib/python2.7/dist-packages/django/db/backends/base/base.py", line 171, in connect 
    self.connection = self.get_new_connection(conn_params) 
    File "/usr/local/lib/python2.7/dist-packages/django/db/backends/postgresql/base.py", line 175, in get_new_connection 
    connection = Database.connect(**conn_params) 
    File "/usr/local/lib/python2.7/dist-packages/psycopg2/__init__.py", line 164, in connect 
    conn = _connect(dsn, connection_factory=connection_factory, async=async) 
django.db.utils.OperationalError: FATAL: database "collector" does not exist 

を私はまた、DBとユーザーを削除しようと、それを再度作成してみてください。それもうまくいかなかった。何が問題なのでしょうか?私がしなかったことはありますか?私はpostgresを初めて使っています。私はMySQLを正常に動作させます。

+0

出力を表示する\ l – Rhim

答えて

2

PostgreSQLでは、スキーマはデータベースではありません。 'collector'という名前のスキーマをデータベース 'postgres'に作成しました。しかし、あなたは 'collector'という名前のデータベースに接続しようとしています。あなたはそれを作成していないので、存在しません。おそらくという名前の 'collector'を作成し、スキーマだけを残してください(デフォルトは 'public')。

'postgres'データベースは通常、システムメンテナンスタスクのために予約されるべきであるため、通常は 'postgres'データベースに新しいスキーマを作成することはお勧めできません。

+0

すべてが変わります!私はDBを作成し、今それは動作します。ありがとう! –

関連する問題