「標準SQL+データベース」サポートページ
正誤表、補足情報、サンプルデータなど
日本PostgreSQLユーザ会にダウンロードリンクの他インストールガイドなどが公開されています。Windowsのダウンロードリンクから開発サイトへ移動し、「Download the installer」からダウンロードできます。 https://www.postgresql.jp/download
※RCはリリース候補(Release Candidate、正式リリース直前のバージョン)。このスクリーンショットは9/25時点ですがこの後のインストール画面は原稿執筆時点のバージョン16.2を使用しています。16.xにおける大きな変更はありません。
ダウンロードしたファイル(ここではpostgresql-16.2-1-windows-x64.exe
)を実行し、画面に従ってインストールを進めてください。途中のポート番号は他と重複しないように、また、DBeaverやHeidiSQL等のツールからアクセスする際の設定用の番号をメモしておいてください。
※PostgreSQLには専用のGUIツールpgAdmin
があります。GUIツールの使用は任意、本書では使用していません。
インストール開始時にStack Builderをチェックしていた場合、Stack Builderの設定が始まります。ここでは使用しないのでキャンセルをクリックしてください。
※Stack BuilderはODBCドライバなどを追加する際に使用します。スタートメニューで「すべてのアプリ」から「PostgreSQL」フォルダの「Application Stack Builder」から起動できます。
インストールが完了すると自動でPostgreSQLサーバーが起動します。 起動できているかどうかは「タスクマネージャー」(タスクバーで右クリック→タスクマネージャで起動)の「サービス」で確認できます。
デフォルトではPostgreSQLサーバーはWindows開始時に自動開始されるように設定されています。 学習時のみ手動で開始したい場合は、タスクマネージャから「サービス管理ツール」を開き、PostgreSQLのプロパティで「スタートアップの種類」を手動に変更します。
手動開始の際はタスクマネージャの「サービス」でPostgreSQLを右クリック→「開始」で開始します。
クライアントのコマンドラインツール(psql.exe)はスタートメニューから起動できます。
postgre
はデフォルトのユーザー名(管理者)およびデータベース名(管理情報が格納)として使用されています。
コマンドラインツールではpsql
固有のコマンドとSELECT文などのSQL文を実行できます。
コマンドはEnterで実行、SQL文の場合は;
が入っていると実行され、入っていない場合は続きの入力をうながすプロンプト(データベース名の後ろの=
が-
に変わる)が表示されます。続きまたは;
を入力してEnterを押すとSQL文が実行されます。
\c データベース名
でデータベースの切り替え、\i ファイル名
でファイルを読み込みます。
\?
または\h
でコマンドを確認できます。
\
は日本語キーボードの¥(円マーク)で入力します。画面表示がバックスラッシュ⧵
でも円マーク¥
となっていても意味は同じです。
psql
コマンドは\q
またはquit
で終了します。
サンプルデータをあらかじめダウンロードし、テキストエディタ(メモ帳など)で表示できるようにしておいてください。
ダウンロードリンク:testdb.sql, sampledb.sql, sampledb2.sql(👉サンプルデータについて)
\c データベース名
でデータベースを選択で取り込むことができます。
※本書用のサンプルデータは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の管理者である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の場合は不要です。
インストール時に「pgAdmin 4」を有効にしていた場合、GUIベースの管理ツールがインストールされます。
本書では使用しませんが、PostgreSQLを活用する上で便利でしょう。
ここでは、インストールとサンプルデータ登録後のデータ表示とSQL文の実行画面のみ紹介します。
スタートメニューの「P」-「PostgreSQL 16」にある「pgAdmin 4」で起動します。頻繁に使う場合は「スタートにピン留め」をしておくと良いでしょう。