🐘

PostgreSQLをインストーラーでインストールする方法(EnterpriseDB)|メモ

に公開

こちらの記事 で紹介した Rust × Tauri の開発環境に関連して、今回はそこで使用するデータベースとしての PostgreSQLをインストールする手順をまとめました。

PostgreSQLを手軽にインストールできる方法として、公式パートナーであるEnterpriseDB社のインストーラーを使う方法があります。GUI形式で初心者にもわかりやすく、pgAdminなどのツールも一緒に導入されるため、最初の一歩におすすめかと思います。
もともとは自分用のチャットでメモしていた内容ですが、他の人にも共有できるように、ここにまとめておきます。

⚠ 注意:このドキュメントは個人用メモをもとに作成しています。
手順の一部が簡略化されていたり、記述に誤りが含まれている可能性があります。
参考にする際は、公式ドキュメントも合わせて確認することをおすすめします。

🟥 この記事は、基本的にスクリーンショットが上、その説明が下に続きます。

環境

  • Windows11
  • ※macOSでも基本的な手順は同様です。(EnterpriseDBのインストーラーはMac対応版も提供されています)

📥 ダウンロード

以下の公式ページからインストーラーをダウンロードします。

🔗 https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

  • 使用中のOSに合わせてバージョンを選択し、「⬇」マークからインストーラーを取得。
  • 今回は PostgreSQL 17.5(Windows x86-64)をインストールします。

  • 「⬇」を押すとこのようなページに移動します。
  • 数秒すればインストーラーのダウンロードが自動で開始されます。

ダウンロードされるファイルは .exe 形式のインストーラーです。

インストール手順

ダウンロードした .exe ファイルをダブルクリックして、セットアップを開始します。

  • セットアップウィザードが起動するので「Next」をクリック。

  • インストール先のフォルダを指定します(特にこだわりがなければそのままでOK)。
    「Next」を押して進みます。

  • インストールするコンポーネントを選びます。基本的にはすべてチェックされた状態で問題ありません。

    • PostgreSQL Server
    • pgAdmin 4(GUI管理ツール)
    • Stack Builder(追加パッケージ管理ツール)
    • Command Line Tools

    「Next」で進みます。


  • データの保存先を指定します(こちらも変更不要ならそのままでOK)。
    「Next」をクリック。

  • postgres ユーザー用のパスワードを設定します。このパスワードは後で必要になるので必ず控えておきましょう。
    入力したら「Next」。

  • ロケール(エンコーディング)を選択します。
    今回は、文字化け対策として C を選択しました。
    特に理由がなければ default locale のままでも構いません。

    「Next」をクリック。


  • 今回は諸事情により 5433 を指定しました。
    特別な理由がなければ、通常はデフォルトの 5432 で問題ありません。

    「Next」で進みます。


※黒塗りしている部分は、ユーザー名を含むローカルパスです。

  • 内容を確認して「Next」でインストールを開始。完了まで数分かかります。


インストール完了後、Stack Builder の起動チェックは外しておいてOKです。
「Finish」を押して終了します。

🚀 PostgreSQLの起動と初期設定(pgAdmin使用)

pgAdminの起動

  • スタートメニューなどから「pgAdmin 4」を起動します。
  • 初回起動時は少し時間がかかることがあります。


起動が完了すると上記の画面が表示されます。


サーバに接続する

  • 左側の「Servers (1)」をクリックして展開します。
  • その下に表示される「PostgreSQL 17」をクリックすると、パスワード入力画面が表示されます。

パスワードの入力

  • インストール時に設定した postgresユーザーのパスワード を入力してログインします。
  • Save Password」にチェックを入れると、次回以降パスワードの入力が省略されます。


正しいパスワードが入力されると、上記のように PostgreSQL のダッシュボード画面が表示されます。

🗃️ データベースの作成

ログインが完了したら、実際にデータベースを作成してみましょう。

① Databases を右クリック

![Databases を右クリック]

  • 左側メニューの「Databases」を右クリックし、
    Create > Database...」を選択します。

② データベース名を入力

  • Database」に任意の名前を入力します。今回はtestを入力。
  • Owner」は postgres のままでOKです。
  • 入力が完了したら、右下の「Save」をクリックします。

③ 作成の確認

データベースが正しく作成されると、左側の「Databases」以下に作成した名前が表示されます。

展開していくと、Schemas > public > Tables などの構成が見えるはずです。

現時点ではテーブルはまだ存在しないため、Tables の横に (0) と表示されます。


🧱 テーブルの作成(SQLで)

今回は、SQL文を使ってshapesという図形テーブルを作成します。

① PSQL Tool を開く


左側メニューの test(設定したデータベース名) > Schemas > public > Tables を右クリックし、
「PSQL Tool」 を選択します。

② SQL文を入力・実行


表示されるターミナルに、shapes テーブル作成用のSQLを入力して実行します。今回は以下のテーブルを作成します。

CREATE TABLE IF NOT EXISTS shapes (
  id UUID PRIMARY KEY,               -- 図形を一意に識別するID
  type TEXT NOT NULL,                -- 図形の種類(rectangle, circle, textなど)
  x FLOAT NOT NULL,                  -- 左上のX座標
  y FLOAT NOT NULL,                  -- 左上のY座標
  width FLOAT NOT NULL,              -- 図形の幅
  height FLOAT NOT NULL,             -- 図形の高さ
  fill TEXT,                         -- 塗りつぶしカラー(例:#FF0000)
  text_data JSONB                    -- テキスト図形に関する追加情報(JSON形式)
);


③ 実行結果の確認

  • 問題なく作成されると CREATE TABLE と表示されます。

  • 左メニューの Tables を右クリック → 「Refresh」を選ぶと、shapes テーブルが表示されます。

👁️ データの表示と確認(View/Edit Data)

GUI上でデータの確認をしてみましょう。


① All Rows を選択して表示

  • 左側メニューから shapes を右クリックし、
    View/Edit Data > All Rows」を選択します。

② 自動的にSELECT文が実行される

  • 上部には SELECT * FROM public.shapes ORDER BY id ASC のSQL文が表示され、
    下部の Data Output に結果が表示されます。
  • 現時点ではまだデータが存在しないため一覧は空ですが、
    カラム構造(id, type, x, y, width, height, fill, text_data)が確認できます。

💡 今は空の状態ですが、データが追加されるとカラム名(列ラベル)の下に1行ずつ表示されていきます。

PostgreSQL 接続確認(Node.js)

こちらの記事 で作成したプロジェクト上で、データベース接続を行います。

🔧 このスクリプト(test-db.js)は、プロジェクトルート直下に作成してください。

接続確認用のコード例

// test-db.js
import { Pool } from "pg";

// PostgreSQL接続用のプールインスタンスを作成
const pool = new Pool({
  user: "postgres",          // PostgreSQLユーザー名
  host: "localhost",         // 接続先ホスト(ローカルホスト)
  database: "",    // 使用するデータベース名
  password: "",          // パスワード
  port: ,                // PostgreSQLのポート
});

// 現在時刻を取得するクエリで接続テスト
pool.query("SELECT NOW()")
  .then(res => {
    // 接続成功時の処理
    console.log("✅ PostgreSQL 接続成功:", res.rows[0]);
    pool.end(); // 接続を終了
  })
  .catch(err => {
    // 接続失敗時の処理
    console.error("❌ PostgreSQL 接続エラー:", err);
    pool.end(); // 接続を終了
  });

実行例

$ node test-db.js
✅ PostgreSQL 接続成功: { now: 接続開始時間 }

成功するとこのように「接続成功 現在時刻(now)」が表示されます。

Discussion