PostgreSQLをWindowsにインストールする手順について少し詳しく説明します。Red Hat系Linuxへのインストールについてはこちらの記事を参照してください。
説明は基本的にPostgreSQL 17、Windows 11を対象にしますが、バージョンで異なる部分はなるべく補足します。
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 11にバージョン17をインストールするので、「Windows x86-64」と「17.x」が交わったところの をクリックします。
別のページに移動し、しばらく待つと、ダウンロードが開始されます。
インストーラによるインストール
インストーラのファイル名はpostgresql-17.x-y-windows-x64.exe
で、名前に含まれる17.x
はPostgreSQLのバージョン番号、y
はインストーラのリリース番号、windows-x64
はOSを表します。
ファイルをダブルクリックし、インストーラを起動します。
「この不明な発行元からのアプリがデバイスに変更を加えることを許可しますか?」とのダイアログが表示されるので、アプリの名前を確認の上、問題なければ、「はい」をクリックします。
PostgreSQLの動作に必要なMicrosoft Visual C++再頒布可能パッケージがインストールされていない場合には、自動的にインストールされます。
スプラッシュスクリーンが表示されます。
しばらく待つと、インストーラが起動されます。「Next」をクリックします。
インストール先のフォルダを指定します。バージョン17だとデフォルトではC:\Program Files\PostgreSQL\17
になります。とくに変更の必要はないでしょう。変更する場合はフォルダのパスを直接入力するか、フォルダのアイコンをクリックし、起動されるダイアログでフォルダを選択します。フォルダを指定したら、「Next」をクリックします。
インストールするコンポーネントを選択します。選択できるコンポーネントは以下のとおりです。
コンポーネント名 | 説明 |
---|---|
PostgreSQL Server | PostgreSQLのサーバ本体 |
pgAdmin 4 | PostgreSQLの管理や操作を行う GUI ツール |
Stack Builder | PostgreSQLの周辺ツールをインストールするユーティリティ |
Command Line Tools | PostgreSQLのコマンドラインツールとライブラリ |
デフォルトではすべて選択されています。PostgreSQLをサーバとして使うなら、少なくとも「PostgreSQL Server」を選択する必要があります。とくに選択を外す必要はないでしょう。選択を外す場合はコンポーネント名の前のチェックボックスをクリックし、チェックを外します。コンポーネントを選択したら、「Next」をクリックします。
データベースクラスタ作成先のフォルダを指定します。データベースクラスタとはデータベースを格納する領域のことです。デフォルトではインストール先の下のdata
で、バージョン17だとC:\Program Files\PostgreSQL\17\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-17
で名前に含まれる17
はPostgreSQLのバージョン番号を表し、64ビットの場合には-x64
がつきます。
スタートメニューのPostgreSQLフォルダ
スタートメニューにPostgreSQLフォルダが作成されています。フォルダ名はバージョン17だと「PostgreSQL 17」になります。
フォルダに含まれるショートカットは以下のとおりです。
ショートカット名 | 説明 |
---|---|
Application Stack Builder | Stack Builderを起動 |
Installation notes | インストールノートを表示 |
pgAdmin 4 | GUIツール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向けの記事ですが、こちらの記事を参考にしてください。