【Django】初期データベースをPostgreSQLに変更する方法をわかりやすく解説
こんにちは、たなです。
今回は、Djangoの初期データベースを変更する方法について紹介していきたいと思います。
Djangoのデータベースはデフォルトで「SQLite3」が設定されています。これを「PostgreSQL」に変更する方法を本記事で紹介していきます。データベースの変更自体はかなり簡単に出来るので、ぜひ参考にしてみてください。
本記事の内容
- Djangoのデータベース設定を変更する方法
- DjangoのデータベースをSQLite3からPostgreSQLに変更する方法
DjangoデータベースをPostgreSQLに変更する方法
PostgreSQLのインストール
まず最初に、PostgreSQLに関する環境構築が完了していない方は、インストール作業をしておきましょう。
詳しくは【環境構築】PostgreSQLのインストール&データベース構築方法という記事で解説しているので、やり方がわからない方は参考にしてみてください。
この記事内の最後でも紹介していますが、pythonからPostgreSQLに接続するために使えるドライバー「psycopg2」をpipコマンドでインストールしています。
この後、「PostgreSQL」にデータベース設定を変更するにあたって、この「psycopg2」を用いていくので、以下画面のようにインストールしておきましょう。
「settings.py」でデータベース設定を変更
ではメイン部分となるデータベース設定関連の部分を見ていきます。
データベースの設定はプロジェクトフォルダ内にある「settings.py」で変更していきます。
冒頭でも紹介したように、デフォルトではデータベースとして「SQLite3」が設定されています。「settings.py」を確認してみると、以下画面のように「sqlite3」となっているのがわかりますね。
このままでも特段問題はないですが、ビッグデータのような膨大なデータを利用していく場合には「SQLite3」だとパフォーマンス上あまりよくないので、他のデータベースへの変更が推奨されています。
Djangoの公式ドキュメントでも変更の概要が記載されていますが、今回は以下のように変更します。
それぞれの意味を簡単にまとめておきます。
- ENGINE:使用するデータベースを設定(デフォルトはSQLite3)
- NAME:接続対象とするデータベース名
- USER/PASSWORD:対象データベースのユーザーとパスワード
デフォルトである「SQLite3」から「PostgreSQL」への変更方法は以上で完了となります。
USERとPASSWORD部分は、機密情報でありハードコード(直接記載)しない方がいいので、OSの環境変数を取得する方法を用いて対策しています。環境変数の取得方法は以下記事で解説しているので、「コードの意味がよくわからなかった」という方は参考にしてみてください。
【Python】OSの「環境変数」を取得する方法を紹介(Windows)
こんにちは、TAKです。今回は、Windowsユーザー向けに「python」を使って「環境変数」を取得する方法を紹介していきます。 僕はエンジニア出身ではないので、「そもそも環境変数って何?」というレベルだったのですが、Djangoを使った…
今回はPostgreSQL(psycopg2)を用いた方法を紹介しましたが、公式ドキュメントにはPostgreSQL以外にも「MySQL」や「Oracle」などについても記載があるので、参考にしてみてください。
まとめ:ビッグデータを扱うためにもデータベースは”PostgreSQL”に変更しておこう
今回は、Djangoのデータベース設定をデフォルトからPostgreSQLに変更する方法を紹介してきました。かなりシンプルでしたが、変更対象とするファイルの場所と変更内容さえわかればさほど難しくなかったかと思います。
Djangoユーザーの方の参考になれば幸いです。
「もっとDjangoの開発レベルをあげたい」という人は【python】Django初心者の方におすすめの学習法を紹介【本やオンラインで効率的に勉強しよう】の記事をあわせて読んでみてください。
【python】Django初心者の方におすすめの学習法を紹介【本やオンラインで効率的に勉強しよう】
「これからDjangoを勉強していきたいけど、具体的にどうやって勉強すればいいかな?」という方向けの記事です。僕の経験談を踏まえつつ、おすすめ本やおすすめ講座を体系的に紹介しています。Djangoの基礎を習得した後の「ロードマップ」も公開しているので、Djangoを極めたい方、必見です。
機械学習や人工知能を学んでWebアプリケーションに組み込んでいきたい人は、【完全ガイド】pythonの学習サイトをレベル別に紹介!【基礎から機械学習・人工知能までのロードマップ】もどうぞ。
【完全ガイド】pythonの学習サイトをレベル別に紹介!【基礎から機械学習・人工知能までのロードマップ】
pythonを極めたいすべての人に贈る学習ロードマップ。おすすめの学習サイトをレベル別に紹介しているので、pythonのレベルをあげていきたいと考えるすべての人に読んで欲しい記事です。これさえ読めば、自分に合っている学習方法やこれから目指すべき方向性がわかります。pythonライフ、楽しんでいきましょう。
すてきなDjangoライフを。