PostgreSQL を Windows にインストールする手順について少し詳しく説明します。Red Hat 系 Linux へのインストールについては こちらの記事 を参照してください。
説明は基本的に PostgreSQL 16、Windows 10 を対象にしますが、バージョンで異なる部分はなるべく補足します。
PostgreSQL のインストール
PostgreSQL のインストール方法はいくつかあります。おもな方法は以下のとおりです。
- ソースコードからビルド
- バイナリの zip アーカイブを使う
- インストーラを使う
とくにこれといった理由がない限り、インストーラを使うのがよいでしょう。
ソースコードからのビルドは、Windows でもできなくはないですが、Linux 以上に手間がかかる上、Windows の知識も必要になります。PostgreSQL 自体を開発したり、ビルド時のオプションを変更したりする場合でもなければ、やめておいたほうがよいでしょう。
また、バージョン 11 以降では 32 ビットバイナリが配布されていないので、32 ビットバイナリが必要な場合にはソースコードからのビルドが必要です。
バイナリの zip アーカイブは、インストーラでインストールされるバイナリを zip 形式でまとめたファイルです。PostgreSQL を同梱したアプリケーションを配布する際、独自のインストーラに組み込む場合などに使います。
zip アーカイブを使ってインストールした場合には、インストーラで行われるデータベースクラスタの作成や周辺ツールのインストールは手動で行う必要があります。
ここでは、インストーラを使ってインストールします。
インストーラのダウンロード
インストーラは EDB 社によって提供され、以下のページからダウンロードできます。
Download PostgreSQL
https://www.enterprisedb.com/downloads/postgres-postgresql-downloads
上記のページで OS、バージョンに応じたインストーラをダウンロードします。
ここでは、Windows 10 にバージョン 16 をインストールするので、「Windows x86-64」と「16.x」が交わったところの をクリックします。
別のページに移動し、しばらく待つと、ダウンロードが開始されます。
インストーラによるインストール
インストーラのファイル名は postgresql-16.x-y-windows-x64.exe
で、名前に含まれる 16.x
は PostgreSQL のバージョン番号、y
はインストーラのリリース番号、windows-x64
は OS を表します。
ファイルをダブルクリックし、インストーラを起動します。
「このアプリがデバイスに変更を加えることを許可しますか?」とのダイアログが表示されるので、アプリの名前や発行元を確認の上、問題なければ、「はい」をクリックします。
PostgreSQL の動作に必要な Microsoft Visual C++ 再頒布可能パッケージがインストールされていない場合には、自動的にインストールされます。
スプラッシュスクリーンが表示されます。
しばらく待つと、インストーラが起動されます。「Next」をクリックします。
インストール先のフォルダを指定します。バージョン 16 だとデフォルトでは C:\Program Files\PostgreSQL\16
になります。とくに変更の必要はないでしょう。変更する場合はフォルダのパスを直接入力するか、フォルダのアイコンをクリックし、起動されるダイアログでフォルダを選択します。フォルダを指定したら、「Next」をクリックします。
インストールするコンポーネントを選択します。選択できるコンポーネントは以下のとおりです。
コンポーネント名 | 説明 |
---|---|
PostgreSQL Server | PostgreSQL のサーバ本体 |
pgAdmin 4 | PostgreSQL の管理や操作を行う GUI ツール |
Stack Builder | PostgreSQL の周辺ツールをインストールするユーティリティ |
Command Line Tools | PostgreSQL のコマンドラインツールとライブラリ |
デフォルトではすべて選択されています。PostgreSQL をサーバとして使うなら、少なくとも「PostgreSQL Server」を選択する必要があります。とくに選択を外す必要はないでしょう。選択を外す場合はコンポーネント名の前のチェックボックスをクリックし、チェックを外します。コンポーネントを選択したら、「Next」をクリックします。
データベースクラスタ作成先のフォルダを指定します。データベースクラスタとはデータベースを格納する領域のことです。デフォルトではインストール先の下の data
で、バージョン 16 だと C:\Program Files\PostgreSQL\16\data
になります。とくに変更の必要はないでしょう。フォルダを指定したら、「Next」をクリックします。
スーパーユーザ postgres
のパスワードを指定します。パスワードは確認のため、同じものを 2 回入力します。データベースへの接続時に必要になるので、忘れないように注意してください。パスワードを入力したら、「Next」をクリックします。
クライアントからの接続を受けつけるポート番号を入力します。デフォルトでは 5432 ポートになります。複数バージョンの PostgreSQL をインストールするなどしていて、すでに 5432 ポートを使っている場合でもなければ、とくに変更の必要はないでしょう。ポート番号を入力したら、「Next」をクリックします。
デフォルトのロケールを選択します。ロケールは言語や国によって異なる文字の扱いや並び替え順を指定するものです。デフォルトの [Default locale]
では OS の設定に基づくロケール、日本語の環境であれば Japanese_Japan.932
が選択されます。日本語ではロケールを使う必要があまりなく、ロケールを使うと文字の処理が遅くなり、インデックスの作成時にオプションを指定しないと、LIKE
でインデックスも使えなくなるので、ロケールを使わないことを示す C
を選択しておきましょう。ロケールを選択したら、「Next」をクリックします。
インストールの設定内容が表示されるので、確認の上、問題なければ、「Next」をクリックします。
これでインストールの準備はできたので、このままインストールするなら、「Next」をクリックします。
インストールが開始されるので、完了するまでしばらく待ちます。
コンポーネントの選択時に Stack Builder のチェックを外してなければ、インストーラの終了後に Stack Builder を起動するかを選択します。デフォルトでは選択されています。あとでいつでも起動できるので、選択は外しておきましょう。起動するかを選択したら、「Finish」をクリックします。
PostgreSQL サービスの起動と停止
PostgreSQL サーバは Windows サービスとして登録され、起動された状態になっています。また、OS の起動や停止に応じて自動的に起動や停止も行われるようになっています。
サービスを手動で起動や停止を行ったり、設定の変更を反映させるのに再起動したりするには、サービス管理コンソールを使います。サービス管理コンソールを起動するには、スタートメニューの「Windows 管理ツール」の「サービス」をクリックするか、「ファイル名を指定して実行」で services.msc
と入力します。
サービス一覧から PostgreSQL サービスを選択し、右クリックして表示されるメニューから行う操作をクリックします。サービス名は postgresql-x64-16
で、名前に含まれる 16
は PostgreSQL のバージョン番号を表し、64 ビットの場合には -x64
がつきます。
スタートメニューの PostgreSQL フォルダ
スタートメニューに PostgreSQL フォルダが作成されています。フォルダ名はバージョン 16 だと「PostgreSQL 16」になります。
フォルダに含まれるショートカットは以下のとおりです。
ショートカット名 | 説明 |
---|---|
Application Stack Builder | Stack Builder を起動 |
Installation notes | インストールノートを表示 |
pgAdmin 4 | pgAdmin 4 を起動 |
pgAdmin documentation | pgAdmin マニュアルを表示 |
PostgreSQL documentation | PostgreSQL マニュアルを表示 |
PostgreSQL release note | PostgreSQL リリースノートを表示 |
Reload Configuration | 設定ファイルの再読み込みを行う |
SQL Shell (psql) | SQL の実行を行う psql を起動 |
インストールノートには Windows バイナリの注意点、pgAdmin と PostgreSQL マニュアルには各ソフトウェアの使い方、PostgreSQL リリースノートには各バージョンの変更点が英語で書かれています。日本語の情報が必要な場合には、PostgreSQL マニュアルは 日本 PostgreSQL ユーザ会 の PostgreSQL 日本語ドキュメント、PostgreSQL リリースノートは SRA OSS 社 の PostgreSQL 技術情報 を参照するのがよいでしょう。
設定ファイルの再読み込みは変更した設定を反映するのに使います。設定ファイルはデータベースクラスタ内に格納されており、postgresql.conf
でコメントに (change requires restart)
がついたパラメータは変更の反映に再起動が必要で、それ以外のパラメータや pg_hba.conf
は設定ファイルの再読み込みで変更を反映できます。
データベースへの接続確認
最後にデータベースに接続し、データベースの一覧を表示します。それには、スタートメニューの PostgreSQL フォルダ内の「SQL Shell (SQL)」をクリックし、psql を起動します。
接続先のホスト名 Server
、データベース名 Database
、ポート番号 Port
、ユーザ名 Username
、クライアント側のエンコーディング Client Encoding
、パスワードの入力を求めるプロンプトが順番に表示されます。角カッコ内がデフォルト値を表しており、パスワード以外はデフォルト値のまま何も入力せず、Enter
キーをタッチしていけばよいです。パスワードはインストール時に指定したものを入力します。
データベースに正常に接続できると、psql のプロンプト postgres=#
が表示されます。そこで、\l
と入力すれば、データベースの一覧が表示されます。データベースクラスタの作成直後は postgres
、template0
、template1
の 3 つのデータベースが存在しています。psql を終了するには \q
を入力した後に何かキーをタッチします。
PostgreSQL のインストールはこれで完了です。ローカルホスト以外から接続するには、さらに設定を行う必要があります。それについては Linux 向けの記事ですが、こちらの記事 を参考にしてください。