たなブログ 人生リア充化を目指すブログ(`・ω・´)

【Django】初期データベースをPostgreSQLに変更する方法をわかりやすく解説

Djangoを学ぶ

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

Djangoのデータベースはデフォルトで「SQLite3」が設定されています。これを「PostgreSQL」に変更する方法を本記事で紹介していきます。データベースの変更自体はかなり簡単に出来るので、ぜひ参考にしてみてください。

本記事の内容

  • Djangoのデータベース設定を変更する方法
  • DjangoのデータベースをSQLite3からPostgreSQLに変更する方法

DjangoデータベースをPostgreSQLに変更する方法

PostgreSQLのインストール

まず最初に、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)


それぞれの意味を簡単にまとめておきます。

  • ENGINE:使用するデータベースを設定(デフォルトはSQLite3)
  • NAME:接続対象とするデータベース名
  • USER/PASSWORD:対象データベースのユーザーとパスワード

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

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

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

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

まとめ:ビッグデータを扱うためにもデータベースは”PostgreSQL”に変更しておこう


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

Djangoユーザーの方の参考になれば幸いです。

「もっとDjangoの開発レベルをあげたい」という人は【python】Django初心者の方におすすめの学習法を紹介【本やオンラインで効率的に勉強しよう】の記事をあわせて読んでみてください。

機械学習や人工知能を学んでWebアプリケーションに組み込んでいきたい人は、【完全ガイド】pythonの学習サイトをレベル別に紹介!【基礎から機械学習・人工知能までのロードマップ】もどうぞ。

すてきなDjangoライフを。