PostgreSQL データベース作成

PostgreSQL 16にデータベースを作成します。
pgAdmin4を使って、ユーザ作成 → データベース作成 → pgAdmin4のサーバ作成 → スキーマ作成 の順に作業していきます。最後にテーブルを作成して動作確認します。

ユーザ作成

(1) pgAdminを起動してスーパーユーザ(postgres)のパスワードを入力してログインします。(パスワード保存している場合は聞いてきません)

pgAdmin実行

(2) [PostgreSQL 16] – [ログイン/グループロール] を選択して、メニュー[オブジェクト] – [作成] – [ログイン/グループロール] をクリックします。

PostgreSQL ユーザ作成

(3) Generalタブを選択して、ユーザ名を入力します。

PostgreSQL ユーザ作成

(4) 定義タブを選択して、パスワードを入力します。

PostgreSQL ユーザ作成

(5) 権限タブを選択して、ユーザの権限を設定します。最低限必要な権限はログイン属性です。必要に応じてスーパーユーザ属性などを選択してください。

PostgreSQL ユーザ作成

(6) 保存をクリックするとユーザが作成されます。

PostgreSQL ユーザ作成
PostgreSQL ユーザ作成

データベース作成

(1) [PostgreSQL 16] – [データベース] を選択して、メニュー[オブジェクト] – [作成] – [データベース] をクリックします。

PostgreSQL データベース作成

(2) Generalタブを選択して、データベース名を入力します。所有者を今回作成したユーザ:testuser1に変更します。

PostgreSQL データベース作成

(3) 定義タブを選択して、エンコーディング(UTF8)・テーブル空間・照合順序・文字の分類 を選択します。

PostgreSQL データベース作成

※ テーブル空間、照合順序、文字の分類は指定しなくてもデフォルトがこの設定でした(インストール時に日本を指定した場合)。本番でインストールするときはその開発するシステムに合わせた設定をしてください。

(4) 保存をクリックするとデータベースが作成されます。

PostgreSQL データベース作成
PostgreSQL データベース作成

pgAdminのサーバ作成

pgAdminのサーバを作成します。pgAdminのサーバは「pgAdminからデータベースへログインするための入り口」と思ってください。データベース管理にpgAdminを利用しない場合は不要です。

(1) [Servers] を選択して、メニュー[オブジェクト] – [登録] – [サーバ] をクリックします。

pgAdmin サーバ作成
pgAdmin サーバ作成

(2) Generalタブを選択して、サーバ名を入力します。このサーバ名はpgAdminのツリーに表示される名称です。

pgAdmin サーバ作成

(3) 接続タブを選択して、ホスト名/アドレス・ユーザ名・パスワードを入力します。ユーザ名・パスワードは上で作成したユーザのものを入力します。今回は個人用のデータベースなのでパスワードを保存を選択しています。
保存をクリックするとサーバが作成されます。

pgAdmin サーバ作成

(4) 新しく作成した testServer をクリックすると testuser1 でデータベースにログインします。

pgAdmin サーバ作成

スキーマ作成

今回作成したユーザ:tesuser1が利用するスキーマを作成します。

スキーマとは?
データベースの設計図とよく解説されていますが、深く理解しようと思うと難しいものです。概念スキーマとか言われるとますますわかりません。またデータベース製品によって微妙に役割が違うというのも理解を難しくしています。
わたしは「データベース内でのナワバリ」と解釈しています。このナワバリの中にテーブルやビューを作っていきます。
みんなで共同で使うナワバリ、自分だけのナワバリという風に使い分けることができます。わたしの経験では「ユーザ名=スキーマ名(自分だけのナワバリ)」で作成することが多い印象です。PostgreSQLの場合、ユーザ名と同じスキーマを作成すると、テーブルなどのオブジェクト作成時にスキーマ名を省略しても自動で自分のスキーマに作成されるので便利です。

(1) testServerにログインします。(パスワード保存してある場合はログインパスワードを聞いてきません)

pgAdmin サーバ作成

(2) 新規作成したデータベースのスキーマを選択して、メニュー[オブジェクト] – [作成] – [スキーマ] をクリックします。

PostgreSQL スキーマ作成

(3) Generalタブの名前にスキーマ名称を入力します。

PostgreSQL スキーマ作成

(4) 他の設定は行わず保存をクリックするとスキーマが作成されます。

PostgreSQL スキーマ作成
PostgreSQL スキーマ作成

動作確認(テーブルを作成してみる)

最後に今回作成したデータベースにテーブル作成をしてみます。

(1) [testServer] – [データベース] – [testDB] を選択して、クエリツールアイコンをクリックします。

PostgreSQL 動作確認

(2) 以下のようにcreate table文を入力して、実行/更新アイコンをクリックします。

PostgreSQL 動作確認

(3) 今回作成したスキーマの下にテーブルが作成されていることが確認できます。

PostgreSQL 動作確認