べくとりうむ.py Written by TicTak(※現在ブログ工事中のため、見づらい点があり申し訳ないです)

【Django】初期データベースをPostgreSQLに変更する方法

Django python

こんにちは、TAKです。
今回は、Djangoの初期データベースを変更する方法について紹介していきたいと思います。

具体的には、Djangoではデフォルト設定で「SQLite3」のデータベース設定がされていますが、これを「PostgreSQL」に変更する方法を紹介していきます。変更自体は思ったより簡単に出来るので、興味のある方は参考にしてみてください。

【こんな人に読んで欲しい記事です】

● Djangoのデータベース設定を変更出来るようになりたい方

● ビッグデータを用いたWebアプリケーションの開発を検討している方

PostgreSQLのインストール

まず最初に、PostgreSQLに関する環境構築が完了していない方は、インストール作業をしておきましょう。
こちらは以下記事で紹介しているので、やり方が今一つわからない方は参考にしてみてください。

この記事内の最後でも紹介していますが、pythonからPostgreSQLに接続するために使えるドライバー「psycopg2」をpipコマンドでインストールしています。

この後、「PostgreSQL」にデータベース設定を変更するにあたって、この「psycopg2」を用いていくので、以下画面のようにインストールしておきましょう。

pythonからPostgreSQLに接続するためのドライバーをインストール

「settings.py」でデータベース設定を変更

ではメイン部分となるデータベース設定関連の部分を見ていきます。
データベースの設定はプロジェクトフォルダ内にある「settings.py」で変更していきます。

冒頭でも紹介したように、デフォルトではデータベースとして「SQLite3」が設定されています。
「settings.py」を確認してみると、以下画面のように「sqlite3」となっているのがわかりますね。

Djangoファイル「setting.py」の初期設定内容(SQLite3)

このままでも特段問題はないですが、ビッグデータのような膨大なデータを利用していく場合には「SQLite3」だとパフォーマンス上あまりよろしくないので、他のデータベースへの変更が推奨されています。

Djangoの公式ドキュメントでも変更概要が記載されていますが、今回は以下のように変更します。

Djangoファイル「setting.py」の設定変更内容(PostgreSQL)

DATABASESの設定内容

● ENGINE : 使用するデータベースを設定(デフォルトはSQLite3)

● NAME : 接続対象とするデータベース名

● USER / PASSWORD : 対象データベースのユーザーとパスワード

デフォルトである「SQLite3」から「PostgereSQL」への変更方法は以上で完了となります。

USERとPASSWORD部分は、機密情報でありハードコード(直接記載)しない方がいいので、OSの環境変数を取得する方法を用いて対策しています。環境変数の取得方法は以下記事で解説しているので、「コードの意味がよくわからなかった」という方は参考にしてみてください。

今回はPostgreSQL(psycopg2)を用いた方法を紹介しましたが、公式ドキュメントにはPostgreSQL以外にも「MySQL」や「Oracle」などについても記載があるので、参考にしてみてください。

データベース設定の紹介(公式ドキュメントより引用)

まとめ

いかがだったでしょうか?

今回は、Djangoのデータベース設定をデフォルトからPostgreSQLに変更する方法を紹介してきました。
かなりシンプルでしたが、変更対象とするファイルの場所と変更内容さえわかればさほど難しくなかったかと思います。

Djangoユーザーの方の参考になれば幸いです。
では今回はこのへんで。