Django のデフォルトデータベースではなく、PostgreSQL を使用する方法を解説します。
Django のデフォルトデータベースは SQLite
ですが、本番環境では PostgreSQL のような強力なリレーショナルデータベースを使用するのが一般的です。
本記事では、Django プロジェクトに PostgreSQL を導入する方法を解説します。
✅ この記事で学べること
psycopg2
パッケージのインストールまず、PostgreSQL をインストールする必要があります。以下のコマンドでインストールできます。
SHsudo apt update sudo apt install postgresql postgresql-contrib
SHbrew install postgresql
Windows の場合、公式サイト からインストーラーをダウンロードしてインストールします。
Django で PostgreSQL を使用するには、Python の PostgreSQL 用ドライバ psycopg2
をインストールする必要があります。
SHpip install psycopg2-binary
もし psycopg2
の方が推奨される環境の場合は、以下のコマンドでインストールします。
SHpip install psycopg2
PostgreSQL にログインし、新しいデータベースを作成します。
SHsudo -u postgres psql
次に、新しいデータベースとユーザーを作成します。
SQLCREATE DATABASE mydb; CREATE USER myuser WITH PASSWORD 'mypassword'; ALTER ROLE myuser SET client_encoding TO 'utf8'; ALTER ROLE myuser SET default_transaction_isolation TO 'read committed'; ALTER ROLE myuser SET timezone TO 'UTC'; GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
これで mydb
というデータベースと myuser
というユーザーが作成されました。
settings.py
でデフォルトの SQLite 設定を PostgreSQL に変更します。
PYTHONDATABASES = { 'default': { 'ENGINE': 'django.db.backends.postgresql', 'NAME': 'mydb', 'USER': 'myuser', 'PASSWORD': 'mypassword', 'HOST': 'localhost', # リモート DB を使用する場合は適宜変更 'PORT': '5432', } }
データベースの準備ができたら、マイグレーションを適用して初期設定を行います。
SHpython manage.py migrate
これで PostgreSQL にテーブルが作成され、Django での利用準備が完了します。
Django シェルを開き、データベースが正常に接続されているか確認します。
SHpython manage.py dbshell
または、以下のコマンドでデータの挿入と取得を試してみます。
PYTHONfrom django.contrib.auth.models import User User.objects.create_superuser(username='admin', password='admin', email='admin@example.com') print(User.objects.all())
Django で PostgreSQL を導入する手順は以下の通りです。
ステップ | 内容 |
---|---|
1 | PostgreSQL をインストール |
2 | psycopg2 パッケージをインストール |
3 | PostgreSQL でデータベースとユーザーを作成 |
4 | settings.py でデータベース設定を変更 |
5 | マイグレーションを適用 (migrate ) |
6 | 接続確認 (dbshell または User.objects.all() ) |
PostgreSQL を導入することで、Django アプリケーションのスケーラビリティとパフォーマンスが向上します。
回 | タイトル | リンク |
---|---|---|
第 1 回 | Django: Cloudinary で画像・メディア管理 | 詳 細 |
第 2 回 | Django: ファイルアップロードとストレージ | 詳 細 |
第 3 回 | Django: ファイルの検証とセキュリティ対策 | 詳 細 |
第 4 回 | Django: カスタム管理画面の作成 | 詳 細 |
第 5 回 | Django: PostgreSQL を導入 | この記事 |
第 6 回 | Django で環境変数を管理 | 詳 細 |
第 7 回 | Procfile / entrypoint.sh の設定 | 詳 細 |
第 8 回 | デプロイ時のセキュリティ対策(Railway 編) | 詳 細 |
第 9 回 | 管理画面 Inline & ページネーション実装 | 詳 細 |
当サイトの情報は、一般的な参考情報として提供しております。
正確な情報の掲載に努めておりますが、その内容の正確性・完全性・最新性を保証するものではありません。
記事の内容をご利用の際は、ご自身の責任において判断し、必要に応じて専門家にご相談ください。
当サイトの情報の利用により生じたいかなる損害についても、一切の責任を負いかねますのでご了承ください。
※ 本ページでは、著作権法に基づき、適正な引用の範囲内でコンテンツを紹介しています。
オリジナルの情報は発信元をご確認ください。
もし問題がありましたら、こちら からお問い合わせください。