標準SQL+データベース入門

書影

「標準SQL+データベース」サポートページ
正誤表、補足情報、サンプルデータなど

標準SQL+データベース入門 サポートページ

学習用環境(Windows + PostgreSQL)

  1. PostgreSQLのダウンロード
  2. PostgreSQLのインストール
  3. 自動起動の設定
  4. クライアントツールの起動
    1. psql用のコマンド
  5. サンプルデータの取り込み
    1. データベースの作成
    2. 【参考】実行画面
  6. テスト用ユーザーの作成
  7. pgAdmin 4(管理ツール)

PostgreSQLのダウンロード

日本PostgreSQLユーザ会にダウンロードリンクの他インストールガイドなどが公開されています。Windowsのダウンロードリンクから開発サイトへ移動し、「Download the installer」からダウンロードできます。 https://www.postgresql.jp/download

❶ダウンロードリンクでWindowsのリンクをクリック

❷Download the installerをクリック

❸Windows x86-64のダウンロードアイコンをクリック(ダウンロードが自動で始まる)

※RCはリリース候補(Release Candidate、正式リリース直前のバージョン)。このスクリーンショットは9/25時点ですがこの後のインストール画面は原稿執筆時点のバージョン16.2を使用しています。16.xにおける大きな変更はありません。

PostgreSQLのインストール

ダウンロードしたファイル(ここではpostgresql-16.2-1-windows-x64.exe)を実行し、画面に従ってインストールを進めてください。途中のポート番号は他と重複しないように、また、DBeaverやHeidiSQL等のツールからアクセスする際の設定用の番号をメモしておいてください。

※PostgreSQLには専用のGUIツールpgAdminがあります。GUIツールの使用は任意、本書では使用していません。

Nextをクリック

Nextをクリック

Nextをクリック

Nextをクリック

パスワードを入力してNextをクリック

Nextをクリック(※ポート番号 5432)

Nextをクリック ※Default localeで良いか要確認

Nextをクリック(設定内容が表示されている)

Nextをクリック

(インストール中)

インストール開始時にStack Builderをチェックしていた場合、Stack Builderの設定が始まります。ここでは使用しないのでキャンセルをクリックしてください。

Stack Builderのチェックマークを外してFinishをクリック

※Stack BuilderはODBCドライバなどを追加する際に使用します。スタートメニューで「すべてのアプリ」から「PostgreSQL」フォルダの「Application Stack Builder」から起動できます。

自動起動の設定

インストールが完了すると自動でPostgreSQLサーバーが起動します。 起動できているかどうかは「タスクマネージャー」(タスクバーで右クリック→タスクマネージャで起動)の「サービス」で確認できます。

デフォルトではPostgreSQLサーバーはWindows開始時に自動開始されるように設定されています。 学習時のみ手動で開始したい場合は、タスクマネージャから「サービス管理ツール」を開き、PostgreSQLのプロパティで「スタートアップの種類」を手動に変更します。

手動開始の際はタスクマネージャの「サービス」でPostgreSQLを右クリック→「開始」で開始します。

「サービス」の「PostgreSQL」が「実行中」であるかどうか確認
タスクバーで右クリック→タスクマネージャ→サービスで「PostgreSQL」が「実行中」であるか確認、右クリック→「サービス管理ツールを開く」で設定

右クリック→プロパティ

スタートアップの種類で自動と手動を切り替える

クライアントツールの起動

クライアントのコマンドラインツール(psql.exe)はスタートメニューから起動できます。

スタートメニュー→「すべてのアプリ」の「P」にある「PostgreSQL」の「SQL Shell (psql)」で起動

Serverなど、[]の値をそのまま使うのでEnterで進み、インストール時に入力したパスワードを入力してEnter

postgreはデフォルトのユーザー名(管理者)およびデータベース名(管理情報が格納)として使用されています。

コマンドラインツールではpsql固有のコマンドとSELECT文などのSQL文を実行できます。 コマンドはEnterで実行、SQL文の場合は;が入っていると実行され、入っていない場合は続きの入力をうながすプロンプト(データベース名の後ろの=-に変わる)が表示されます。続きまたは;を入力してEnterを押すとSQL文が実行されます。

psql用のコマンド

\c データベース名でデータベースの切り替え、\i ファイル名でファイルを読み込みます。 \?または\hでコマンドを確認できます。

\は日本語キーボードの¥(円マーク)で入力します。画面表示がバックスラッシュでも円マーク¥となっていても意味は同じです。

psqlコマンドは\qまたはquitで終了します。

サンプルデータの取り込み

サンプルデータをあらかじめダウンロードし、テキストエディタ(メモ帳など)で表示できるようにしておいてください。

ダウンロードリンク:testdb.sql, sampledb.sql, sampledb2.sql(👉サンプルデータについて

  1. データベースの作成
  2. \c データベース名 でデータベースを選択
  3. テキストエディタからサンプルデータをコピー&ペースト

で取り込むことができます。

※本書用のサンプルデータはUTF-8で作成されていますが、WindowsのpsqlコマンドはSJISを前提としているため、\iコマンドによる読み込みはできません。qsqlコマンド起動時の文字コードでUTF-8は選択可能ですが、エラーや警告のメッセージが文字化けします。

データベースの作成

以下のコマンドはまとめて選択し、psqlの画面にペーストすることで実行できます。

データベースの削除(初回は実行不要、作り直したい場合に使用してください)

DROP DATABASE IF EXISTS testdb;
DROP DATABASE IF EXISTS sampledb;
DROP DATABASE IF EXISTS sampledb2;

データベースの作成

CREATE DATABASE testdb WITH ENCODING 'UTF8';
CREATE DATABASE sampledb WITH ENCODING 'UTF8';
CREATE DATABASE sampledb2 WITH ENCODING 'UTF8';
#### 【参考】並び順などを細かく指定したい場合 本書のサンプルを実行するにあたってはここまで設定する必要はありませんが、 PostgreSQLのCREATE DABASEで文字コードの他に並び順などを指定したい場合は、テンプレートも併せて指定する必要があります。詳しくはPostgreSQLのマニュアルを参照してください。 ~~~SQL CREATE DATABASE testdb WITH ENCODING 'UTF8' LC_COLLATE='und-x-icu' LC_CTYPE='und-x-icu' TEMPLATE template0; CREATE DATABASE sampledb WITH ENCODING 'UTF8' LC_COLLATE='und-x-icu' LC_CTYPE='und-x-icu' TEMPLATE template0; CREATE DATABASE sampledb2 WITH ENCODING 'UTF8' LC_COLLATE='und-x-icu' LC_CTYPE='und-x-icu' TEMPLATE template0; ~~~

【参考】実行画面

クライアントツールを実行する(ここではSJIS、ユーザーpostgresを使用)

サンプルデータの内容をコピー

クライアントツールの画面にペースト(警告が表示されるので「強制的に貼り付け」をクリック)

サンプルデータのSQL文が実行される(サンプルデータが取り込まれる)

テスト用ユーザーの作成

スタートメニューから実行するコマンドラインクライアントは、PostgreSQLの管理者であるpostgresユーザーでPostgreSQLサーバーに接続しSQLを実行するようになっています。個人のローカルPCでテストする分にこれで問題ありませんが、テスト用のユーザーを使用したい場合は以下のコマンドで作成します。

createuser -U postgres ユーザー名
createdb -U postgres -E UTF8 -O ユーザー名 データベース名

createuserやcreatedbコマンドは、PostgreSQLのインストールディレクトリ内のbinに格納されています。

バージョン16.xの場合は標準でC:\Program Files\PostgreSQL\16\binなので、エクスプローラでC:\Program Files\PostgreSQL\16\を開き、binを右クリック→「ターミナルで開く」でコマンドプロンプト(cmd.exe)またはPowerShellの画面が開くので、そこで実行するのが簡単でしょう。

以下はPowerShellの画面での実行例です。PowerShellの場合、カレントディレクトリにある実行ファイルを使用するには.\を付ける必要があります。cmd.exeの場合は不要です。

ターミナルで実行ファイルがインストールされている場所を開く

コマンドを実行する(PowerShellの場合、`./`または`.\`を付けて実行

pgAdmin 4(管理ツール)

インストール時に「pgAdmin 4」を有効にしていた場合、GUIベースの管理ツールがインストールされます。

本書では使用しませんが、PostgreSQLを活用する上で便利でしょう。

ここでは、インストールとサンプルデータ登録後のデータ表示とSQL文の実行画面のみ紹介します。

スタートメニューの「P」-「PostgreSQL 16」にある「pgAdmin 4」で起動します。頻繁に使う場合は「スタートにピン留め」をしておくと良いでしょう。

pgAdmin 4で起動

「Add New Server」で接続用の設定を作成

「General」で名前(任意)を付ける

「Connection」で接続用の設定を入力して「Save」

データベースを選択→Schemas→Publicにあるテーブルを右クリックして「View/Edit Data」でテーブル定義の表示

データベースを右クリック→「PSQL Tool」でクエリ画面が開く(F5で実行)


標準SQL+データベース入門 ——RDBとDB設計、基本の力 サポートページ