Angular, Spring, PostgreSQL(5)PostgreSQL を導入してテーブル作成まで

スポンサーリンク

PostgreSQLでなにをするか

PostgreSQLの導入・設定を始める前に、まずはざっくり、PostgreSQL(=RDBMS)でなにをするか、まとめておこうと思います。

前述のとおり、今回は、バイク(ハーレー)のいろんなのネジ・ボルトの締付けトルクの管理をしたい、そのために必要になる情報は、概ね以下のように考えています。

■カテゴリー(Category)
バイクの「エンジン部分」とか「リアブレーキ部分」とか、そういう部位を示す予定。

■部品マスター(Parts)
エンジンオイルの「ドレンボルト(オイル排出用にバイク底部にあるボルト)」のような、締付けトルク管理をしたい部品を定義。

■車種(Model)
僕のバイクは、「ファットボーイロー」、英略称では「FLSTFB」。自分のバイクについての締付けトルク管理ができれば良いので、この情報はあまり活用の機会がないかもしれないけれど、「2台持ちになった時」とかを想定して、”どの車種のどこの部品か”というのを表せるようにしておきます。

■締付けトルク(Torque)
ここで「ドレンボルト」の締付けトルクは、19.0Nm~28.5Nmというのを定義。

やっていくうちに、あれが足りない・これもほしい、と変わっていく可能性がありますが、いったんはこんな感じで。

スポンサーリンク

ダウンロードとインストール

最初はやはり、PostgreSQL本家サイトへ

「Download the Installer」をクリックするとさらに下記に進みます。

最新版以外を選ぶ理由(特定の古いのを使いたい、とか)は特にないので、一番上の Windows版(64Bit)を選んで、適当な場所にダウンロード。

インストール

ダウンロードされたファイル(この時は、postgresql-12.2-2-windows-x64.exe)をダブルクリックして実行すると、PostgreSQLのインストールが始まります。

この手のソフトは、Cドライブ直下に置くのが個人的な好み。

あとは、ツールの利用時とかに必要なパスワードを設定。

ほかにも画面がいくつか出てきたけれど、基本的にデフォルトでよいでしょう。「Ready to Install」画面で「NEXT」すると、インストールが始まります。

「Stack Builder」はTool類ですね。とりあえず無くても大丈夫だと思うので入れません(チェックを消す)。で「Finish」です。

可動確認

信じていないわけではないけれど、一応、動作するか確認してみます。
「pgAdmin」というツールを起動。

ツールが起動します。この時要求されるパスワードは、インストール作業の時に決めたもの。

無事画面が出てきたので、うまく入っているのでしょう。

とりあえず良しとします。
ちなみに、PostgreSQLはサービスとして、裏で実行されているということですね

PostgreSQLの構成要素

いろいろ作り始める前に、用語・定義の関係を整理しておいたほうが良いと思い、以下にまとめました。

データベースクラスタ

これは実際に存在していて、PostgreSQLをインストールした時に、今回だと「C:\PostgreSQL\12\data」配下に、いろんなファイルが作られる場所。DB的な処理をした時、物理的にはここに書かれているということですね(関連する”テーブルスペース”については後述)。

データベース

「販売管理システム」とか「工程管理システム」とか、これからしたい事柄を、”XXXXデータベース”として定義。今回は「締付けトルク情報管理システム」だから「Tightening Torque Infomation System」なので、略して「ttsdb」にします。

スキーマ

データベースを作ると、「Public」というスキーマがデフォルトで作られて、テーブルやビューを作成することになります。定義空間のようなもの。デフォルトのままでもたぶん支障はないのですが、せっかくなので、「ttsusr」という名前で作成して、明示的にしておくことにします。

ロール

PostgreSQLでは、「ロール」は「ユーザー」と同義のようです。パスワードと権限(DB作成権とか、ロール作成権とか)を指定するようです。
今回は、「ttsusr」としておきます。

また、ロール名とスキーマ名を同じにすることにしました。これは、PostgreSQL接続時、スキーマ名を指定しないで接続すると、ロール名と同じスキーマを、まず参照しにいくようだからです(接続文字列はあとで(Springの)どこかに定義するはずなので、簡潔になるように配慮)。

テーブルスペース

今回はやらないので、図からは割愛しましたが、テーブルが消費するデータ領域を「データベースクラスタ」の外に置くことが出来るようです。テーブル/インデックス作成時に「テーブルスペース」を指定しておけば、想定する容量に応じて配置を調整できる、ということですね(たぶん)。

ユーザー作成

psql(コマンドラインベースのPostgreSQLツール)での作成例はあちこちにあるので、せっかくなので、GUIツール(pgAdmin4)でやってみます。

まずはユーザー作成。pgAdmin4の画面で以下の指定をします。
(Login/Group Roles>右クリック>Createを選択)

Name欄に、ユーザー名を指定。

パスワードを指定。

ひと通り、なんでもできるように権限設定。

実行前のSQLが見れますね。よければ「Save」ボタンを押して作成。

データベース作成

次はデータベース作成です。Database欄に「ttsdb」と指定し、Ownerを「ttsusr」にします。

以降はデフォルトのままで、出来上がりSQLを確認して「Save」。

スキーマ作成

最後にスキーマを作成。Nameはロールと同じに。

で「Save」で作成。

テーブル作成

テスト的な仮テーブルも作成してみます。スキーマ配下の「Tables」欄を右クリックして、「Create」>「Table…」を選択。

カラムもここで定義が可能(優秀)。

まとめ

後続の作業が滞らない最低限のレベルですが、PostgreSQLについて整理・導入を行いました。次回はやっと、開発ツールの導入です。

コメント

タイトルとURLをコピーしました