以前の記事で作成したFlask WEBアプリケーションをRenderにデプロイするにあたって、データベースとしてPostgreSQLを使用することが必要です
以前の記事でSQLAlchemyを使ってSQLiteというデータベースを操作する方法を解説しました
今回は、postgreSQLの環境構築をして、データベースを操作する方法を解説します
PostgreSQL と SQLite はどちらもリレーショナルデータベース管理システム (RDBMS) ですが、設計目的や使用方法に大きな違いがあります
PostgreSQLは、クライアントサーバー型の設計で、複数のクライアントが同時にアクセス可能です
データはデータベースサーバーに保存され、サーバープロセスが管理します
SQLite は、単一のファイル(.sqlite や .db)にすべてのデータを保存し、サーバー不要でアプリケーションに直接組み込み可能です
大規模で複雑なシステムには PostgreSQL、小規模でシンプルなアプリには SQLite を選ぶのが一般的です
・環境
Windows 11
psql (PostgreSQL) 17.2
・postgreSQLのインストール
1. 公式サイトからインストーラーをダウンロード
以下のサイトにアクセスしてインストーラーをダウンロードします
お使いのOSに合わせてインストーラーをダウンロードして、ウィザードに従ってインストールします
途中でパスワードを設定するので忘れずにメモしておきます
または以下のようにChocolateyを使用してインストールすることもできます
Chocolatey のインストール確認
Chocolatey がインストールされていることを確認します
まだインストールされていない場合、以下のコマンドでインストールできます
- 管理者権限で PowerShell を開く
- 以下のコマンドを実行
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
- インストール後、以下のコマンドでバージョンの確認をします
choco -v
PostgreSQL のインストール
Chocolatey を使用して PostgreSQL をインストールします
- 管理者権限で PowerShell またはコマンドプロンプトを開く
- 以下のコマンドを実行:
choco install postgresql
2. インストールが完了したらパスを通す
psql(postgreSQL)をどこからでも使用できるように、PostgreSQL の bin ディレクトリを環境変数 PATH に追加します
- ディレクトリを確認
通常、psql.exe は以下にインストールされます
C:\Program Files\PostgreSQL\<version>\bin
- 環境変数に追加
Windows の検索バーで「環境変数」と入力し、「環境変数の編集」を選択
システム環境変数から Path を選択し、「編集」をクリック
上記の bin ディレクトリを追加
「OK」をクリックして設定を保存
- 確認
新しいコマンドプロンプトまたは PowerShell を開き、以下を実行します
psql --version
正しいバージョンが表示されれば成功です。
3.PostgreSQL サービスの起動確認
PostgreSQL のサービスを起動するには、以下の手順を実行します
サービスが正しくインストールされているか確認
net start postgresql
サービスの状態を確認するには
Get-Service postgresql*
4. PostgreSQL にログイン
PostgreSQL のデフォルト設定では、postgres ユーザーが作成されています
以下のコマンドでログインできます
パスワードを聞かれるのでインストール時に設定したパスワードを入力します
psql -U postgres
ログインできたら新規ユーザーを作成します
ユーザー名とパスワードを設定して以下のコマンドを入力します
CREATE USER user名 WITH PASSWORD 'パスワード';
データベースを作成します
先ほど作ったユーザー名をオーナーとします
オーナーはデータベースのすべての権限を持ちます
CREATE DATABASE database名 OWNER user名;
データベースを作成出来たら一回ログアウトします
\q
そして、先ほど作成したデータベースにログインできるか試してみます
ユーザーのパスワードを求められるので入力します
psql -U user名 -d データベース名 -h localhost -p 5432
ログインしたあとは、このようにターミナルなどを使ってデータベースを作成することも出来ますが、pgAdmin4というツールを使ってGUIのようにデータベースを操作する事も出来ます
また、python SQLAlchemyを使ってデータベース操作をすることもできます
次回以降の記事でこれらについて解説していきたいと思います
コメント