LoginSignup
28
24

More than 5 years have passed since last update.

(Djangoメモ)データベースにPostgreSQLを設定

Last updated at Posted at 2014-08-30

前回と同様にVagrant環境で実験。PostgreSQLは既に入っていて、Djangoのテストページまで表示できているのが前提。

まずは settings.py

settings.py
DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': 'myproject',
          'USER':'vagrant',
          'PASSWORD':'************',
          'HOST':'',
    }
}

で、

python manage.py sql [APPNAME]

すると案の定一筋縄にはいかなかった。以下のエラーになる。

django.core.exceptions.ImproperlyConfigured: Error loading psycopg2 module: No module named psycopg2

pycopg2 というモジュールが無いとのこと。そこで以下を試す。

pip install psycopg2

が、どうも失敗しているっぽい。実行中の、ごちゃごちゃとメッセージが出てくる中に以下のような行も含まれていた。

Error: pg_config executable not found.

pip freezeで確認するとやはり失敗している模様。上のエラーでググる。

これかな?
http://stackoverflow.com/questions/8237842/django-core-exceptions-improperlyconfigured-error-loading-psycopg-module-no-mo

以下を実行。

sudo yum install python-psycopg2

Complete!

こっちは成功。そこでもう一度。

pip install psycopg2

ところがエラーメッセージは全く変わらず。 pg_config とはいかに?再度ググる。

これ?
http://stackoverflow.com/questions/11618898/pg-config-executable-not-found

試してみる。

sudo yum install postgresql-devel

Complete!

三度目の正直。

pip install psycopg2

Successfully installed psycopg2
Cleaning up...

できた!続いて以下にも再チャレンジ。

python manage.py sql [APPNAME]

django.db.utils.OperationalError: FATAL: database "myproject" does not exist

これは前にも見た。あとは PostgreSQL でデータベースを作れば問題なく動く。

こうしてやってみると MySQL のときと流れはほとんど一緒みたいだ。

28
24
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
28
24