WEBアプリのデータベースとして、PostgreSQLをインストールし、環境設定する方法について紹介します。
データベース管理とは?
データベースと言う言葉は、広い意味合いが有りますが、ここでは下の表の行と列でまとめられたデータをイメージしてください。一つのデータを行で表し、列が項目を表しています。一番上に項目名を並べており、その下にデータが格納されている状態で保管されています。
この表のことを「リレーショナルデータベース」と呼び、この表によるデータベースを管理する方法を「リレーショナルデータベースマネジメントシステム(RDBMS )」と呼びます。
WEBアプリを作る場合は、そのアプリを使うユーザーのデータを管理するデータベースが必要となります。少しわかりずらいので下の図で説明します。
複数ユーザーでWEBアプリを使用する場合、全個人データは一つのWEBアプリサーバーで管理することになりますが、同時に各個人のアカウントに紐づいて管理・閲覧できる権限を制限されていることになります。この「ユーザ権限の制限」がデータベース管理では重要となります。このシステムを1から構築すると、かなり難易度が高く時間もかかる為、専用のソフトで運用するのが一般的です。
どんなソフトでデータベースを管理するの?
よく使用されている無料のソフトを3つ紹介します。
無料とはいえ、さまざまな企業で使用実績もある有名ソフトですので、実用性は十分と判断しています。初心者の方は、最初はこれで十分な機能です。
PostgreSQL
機能も使い易さも過不足なく、高いシェアを誇っています。デンブロクではこの無料のソフトを使います。
リンク先 https://www.postgresql.org
MySQL
MySQLは、無償ソフトの中ではとても高いシェアがあります。このソフトが標準で搭載されているソフトも多いです。
リンク先 https://www.mysql.com/jp/
SQLite
非常に軽い動作が特徴のフリーソフトです。
データベース管理ソフトは通常、サーバー側にインストールして使用しますが、このSQLiteは、サーバーにはインストールせずにアプリ開発用ライブラリとしてアプリに組み込んで使用します。
その為組み込む手間が必要ですが、アプリに対する互換性は高い様です。
リンク先 https://sqlite.org/index.html
PostgreSQLの導入方法
PostgreSQLのインストール
公式サイトからインストーラーをダウンロードします。以下のリンクからダウンロードページへアクセスしてください。
ダウンロードページ
https://www.postgresql.org/download/
ダウンロードは自身のPCにあわせて選択してください。なるべく最新のバージョンをインストールすることを推奨します。
ダウロード後にインストーラーを実行し、デフォルトの設定でインストールを行います。
インストール完了後にセットアップウィザードに、「Stack Builderを起動して、追加ツールのインストールをするか」確認が出てきますが、チェックを外してfinishを押して完了してください。
PostgreSQLをDjangoへ組み込む
環境変数の設定
いよいよWindowsのPCでPostgreSQLを操作する為の設定手順を紹介します。
手順1:PCの「スタート」メニューのプログラム一覧から「Windowsシステムツール」を選択し、「コントロールパネル」⇒「システムとセキュリティー」⇒「システム」を選択してきます。
手順2:システムの詳細設定を選択し、環境変数をクリックしてください。
システム環境変数リストから「Path」を選択し、「編集」のボタンを押してください。
「新規」のボタンをクリックし、新たにパス入力ウィンドウが開いたら、PostgreSQLのインスト―ルしたアドレスを記載してください。パス設定完了後「ok」を押して設定を保存します。
手順3:パスが通っているか確認する
コマンドプロンプトを立ち上げ、以下コマンドを入力し実行してください。
psql –version
これを実行してPostgreSQLのバージョンが表示されれば問題ありません。
データベースの作成
手順1:postgreSQLへログイン
コマンドプロンプトで以下コマンド実行してください。ユーザ名とパスワードはインストール時に設定したものを使用します。
psql -U 「ユーザ名」
すると、パスワードの入力を求められるので、パスワードを入力してください。
成功すると頭に「ユーザ名=#」が付きます。(PostgreSQLにログインした状態)
手順2:データベース作成コマンドを実行
以下コマンドを実行しデータベースを作成します。データベース名は好きな名前で構いません。
注意:最後にセミコロン「;」があるので忘れない様にしてください。
create database 「データベース名」;
手順3:作成したデータベースを確認してみる
コマンド「\l」を実行し、手順2が成功したか確認を行います。うまくいけば、コマンドプロンプト上に表が出力されます。
表が出たことを確認したら、「\q」でPostgreSQLからログアウトしてください。
Pythonで接続するためにドライバをインストールする
PostgreSQLにPythonでアクセスするために、ドライバ「psycopg2」のインストールを行います。
手順1:Pythonの仮想環境に入ってください。
手順2:pipコマンドを利用してインストールを行います。以下コマンドを実行してください。
pip install psycopg2-binary
これでPythonからデータベースにアクセスできるようになりました。