データベース環境構築

PostgreSQLのインストールとデータベース作成方法

PostgreSQLインストール方法解説ページのアイキャッチ画像 データベース

本記事は、PostgreSQLの概要から基本的な使用方法まで網羅的に解説しています。Winsows,Mac,Linux でのインストール方法pgAdmin 4(GUIツール)の使用方法コマンドラインでのデータベース作成の基本も紹介します。

PostgreSQLとは?

PostgreSQLは、データを効率的に保存・管理・取得するためのオープンソースのリレーショナルデータベース管理システムです。

PostgreSQLは以下のような特徴を持つデータベース管理システムです:

  • オープンソース: 無料で使用でき、ソースコードも公開されています。
  • リレーショナル: データを表形式で管理し、表同士を関連付けられます。
  • 堅牢性: 大量のデータを安全に扱えるよう設計されています。

主な機能

PostgreSQLでは以下のようなことができます:

  • データの保存
  • データの検索・取得
  • データの更新・削除
  • 複雑な条件での検索や集計

PostgreSQLは主にSQL言語を使って操作します。

SELECT * FROM users WHERE age > 20;

このコマンドは20歳以上のユーザーを全て取得します。

PostgreSQLの利点

  1. 低コスト: 基本的に無料で使えます。
  2. 拡張性: 大規模なデータベースにも対応できます。
  3. 標準SQL準拠: 他のデータベースとの互換性が高いです。
  4. 高度な分析機能: 複雑なデータ分析もサポートしています。

PostgreSQLのインストールと設定

Windowsの場合

公式サイトにアクセスします。

PostgreSQLダウンロード

Windowsマークを選択します。

Download the installer」をクリックします。

Windows x86-64」の「16.4」をクリックしてダウンロードします。

ダウンロード完了したら、インストーラーをダブルクリックします。

ユーザーアカウント制御」ウインドウが表示されるので、「はい」を選択します。

Next」をクリックします。

保存先はデフォルトで問題ないので、「Next」をクリックします。

コンポーネントの選択は、デフォルトで問題ないので「Next」をクリックします。

デフォルトで選択されているコンポーネントには以下のようなものが含まれています:

  1. PostgreSQLサーバー
  2. pgAdmin 4(グラフィカル管理ツール)
  3. Stack Builder(追加ツールのインストーラー)
  4. Command Line Tools(psqlなどのコマンドラインツール)

データディレクトリの保存先もデフォルトで問題ないので「Next」をクリックします。

  1. パスワードの設定:
    このパスワードは、PostgreSQLデータベースの管理者アカウント(postgres)に対するものです。
    postgresユーザーとしてデータベースに接続する際や、管理タスクを実行する際に必要となります。インストール後、必要に応じてパスワードを変更することも可能です。
  2. パスワード入力欄:
    • “Password”: 新しいパスワードを入力します。
    • “Retype password”: 確認のため、同じパスワードを再度入力します。

Next」をクリックします。

ポートの設定は「5432」のままで「Next」をクリックします。

  • デフォルト設定: 特に他のPostgreSQLインスタンスがない限り、5432番ポートのままで問題ありません。これにより、設定や接続が簡単になります。
  • 後から変更可能: 必要に応じて、PostgreSQLの設定ファイル(postgresql.conf)でポート番号を変更することもできますが、その場合は再起動が必要です。

Default locale」のままで「Next」をクリックします。

  • デフォルトのlocaleで進めることが推奨されます。これにより、PostgreSQLがオペレーティングシステムと一致した設定を使用し、日常的なデータ処理や表示がスムーズになります。
  • カスタマイズが必要な場合: 特定の地域や言語に合わせた設定が必要な場合は、手動でlocaleを変更することも可能です。例えば、日本向けに特化したアプリケーションを開発する場合は「ja_JP」を選択することが考えられます。

もし将来的に特定のlocaleが必要になった場合は、その時点で変更することもできます。

  • 設定内容の確認:
    • これまでに選択したオプション(例:インストール先フォルダ、コンポーネント、スーパーユーザーのパスワード、ポート番号など)が一覧表示されます。

Next」をクリックします。

Next」をクリックするとインストールが開始されます。


Finish」をクリックします。

Stack Builderが自動で開きますが、今回は使用しないので「キャンセル」をクリックします。

Stack Builderは、PostgreSQLのインストール後に使用できるユーティリティで、データベースの機能を拡張するための追加ツールやドライバを簡単にダウンロードしてインストールできます。

はい」をクリックします。

環境変数の設定

通常は:”C:\Program Files\PostgreSQL\<version>\bin” のディレクトリに保存されています。
※バージョン16の場合:”C:\Program Files\PostgreSQL\16\\bin” のパスを環境変数に設定します。

binフォルダを右クリック、「パスのコピー」を選択します。

タスクバーの検索で、「環境変数」と入力します。

システム環境変数の編集」を開きます。

詳細設定」の「環境変数」をクリックします。

システム環境変数」の「Path」をダブルクリックします。

一番下の空欄をダブルクリックして、先ほど「パスのコピー」を貼り付けて、「OK」をクリックします。

環境変数を設定が出来たら、コマンドプロンプトまたはターミナルでバージョン情報を表示させます。

psql --version

バージョンが正しく表示されたら設定完了です。

psql (PostgreSQL) 16.4

Macの場合

  • Homebrewのインストール (まだインストールしていない場合):
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

最新情報などは以下の公式サイトを確認してください。Hemebrew公式サイト

  • ターミナルで以下のコマンドを実行してPostgreSQLをインストールします:
brew install postgresql

この方法のメリット:

  • インストールが簡単
  • バージョン管理が容易
  • アップデートが簡単
  • Homebrewの依存関係管理が利用可能

Linuxの場合

Ubuntu / Debian

  1. デフォルトのパッケージマネージャーを使用
sudo apt install postgresql
  1. PostgreSQL Aptリポジトリを使用(最新バージョン用)
# リポジトリの自動設定
sudo apt install -y postgresql-common
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh

# または手動設定
sudo apt install curl ca-certificates
sudo install -d /usr/share/postgresql-common/pgdg
sudo curl -o /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc --fail https://www.postgresql.org/media/keys/ACCC4CF8.asc
sudo sh -c 'echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
sudo apt update
sudo apt -y install postgresql

最新情報は、PostgreSQL公式サイトから確認できます。

Red Hat / CentOS / Fedora

dnfを使用してインストール(RHEL 8, CentOS 8, Fedora向け)

# PostgreSQL 16の場合
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo dnf -qy module disable postgresql
sudo dnf install -y postgresql16-server
sudo /usr/pgsql-16/bin/postgresql-16-setup initdb
sudo systemctl enable postgresql-16
sudo systemctl start postgresql-16

最新情報や他のバージョンは、PostgreSQL公式サイトから確認できます。

pgAdmin 4 インストール(Mac,Linux)

pgAdmin 4 はPostgreSQLデータベースの管理や開発を行うためのグラフィカルユーザーインターフェース(GUI)ツールです。これにより、ユーザーはコマンドラインを使用せずに直感的にデータベースを操作できます。

  • Windowsでは、PostgreSQLインストーラーで一緒にインストールできます。
  • mac,Linuxでは別途インストールする必要があります。
  • GUIツールを使用したい場合は以下の方法でインストールしてください。

macOS

Homebrewを使用する場合:

brew install --cask pgadmin4

公式サイトからダウンロードする場合:

  1. ダウンロードページ: https://www.pgadmin.org/download/pgadmin-4-macos/
  2. インストール方法:
    • DMGファイルをダウンロードし、ダブルクリックして開きます。
    • pgAdmin 4アイコンをApplicationsフォルダにドラッグ&ドロップします。

Linux

Ubuntu / Debian

リポジトリの設定:

# Install the public key for the repository
curl -fsS https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /usr/share/keyrings/packages-pgadmin-org.gpg

# Create the repository configuration file
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/packages-pgadmin-org.gpg] https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list && apt update'

インストール:

# Install for both desktop and web modes:
sudo apt install pgadmin4

# または、デスクトップモードのみ:
sudo apt install pgadmin4-desktop

# または、Webモードのみ:
sudo apt install pgadmin4-web
  1. デスクトップモード:
    • 個人で使用する
    • インストールと設定を簡単にしたい
    • ローカルでのみ作業する
  2. Webモード:
    • チームで使用する
    • リモートアクセスが必要
    • 複数のユーザーで管理を行う

初心者の方は、まずデスクトップモードから始めるのがおすすめです。使い方に慣れてきたら、必要に応じてWebモードを検討するとよいでしょう。

Webモードのセットアップ(pgadmin4またはpgadmin4-webをインストールした場合):

sudo /usr/pgadmin4/bin/setup-web.sh

最新情報は pgAdmin 4 ダウンロードページ を確認してください。

Red Hat / CentOS / Fedora

  1. リポジトリの設定:

Fedora の場合:

sudo rpm -i https://ftp.postgresql.org/pub/pgadmin/pgadmin4/yum/pgadmin4-fedora-repo-2-1.noarch.rpm

AlmaLinux, Rocky, Red Hat, CentOS の場合:

sudo rpm -i https://ftp.postgresql.org/pub/pgadmin/pgadmin4/yum/pgadmin4-redhat-repo-2-1.noarch.rpm
  1. インストール:
# デスクトップモードとWebモードの両方をインストール
sudo yum install pgadmin4

# デスクトップモードのみをインストール
sudo yum install pgadmin4-desktop

# Webモードのみをインストール
sudo yum install pgadmin4-web
  1. デスクトップモード:
    • 個人で使用する
    • インストールと設定を簡単にしたい
    • ローカルでのみ作業する
  2. Webモード:
    • チームで使用する
    • リモートアクセスが必要
    • 複数のユーザーで管理を行う

初心者の方は、まずデスクトップモードから始めるのがおすすめです。使い方に慣れてきたら、必要に応じてWebモードを検討するとよいでしょう。

  1. Webモードのセットアップ(pgadmin4またはpgadmin4-webをインストールした場合):
sudo /usr/pgadmin4/bin/setup-web.sh
  1. アップグレード方法:
sudo yum upgrade pgadmin4

最新情報は pgAdmin 4 ダウンロードページ を確認してください。

pgAdmin 4(GUIツール)の使い方

次に、GUIアプリを使用してみます。
タスクバーの検索で「pgadmin」と入力します。

pgAdmin 4」を開きます。タスクバーにピン留めするを選択すると起動時に便利です。

Servers」を開くと、ウインドウが表示されるので、インストール時に設定したパスワードを入力してOKをクリックします。

  1. Windows:
    通常、インストール時に設定したPostgreSQLサーバーのパスワードの入力が求められます。
  2. Mac/Linux:
    デフォルトの PostgreSQL 設定では、通常、ローカル接続に対してパスワードは要求されません。これは、PostgreSQLの初期設定で「trust」認証や「peer」認証が使用されていることが多いためです。

ただし、pgAdmin4自体のマスターパスワード(設定されている場合)は、オペレーティングシステムに関わらず要求される可能性があります。

GUIでのデータベースとテーブル作成方法:
PostgreSQL 16」を右クリックして「Create」→「Databese」を選択します。

Database」に名前を入力して「Save」をクリックします

myapp」→「Schemas」→「public」を開きます。

Tables」→「Create」→「Table」を選択します。

Name」にテーブル名を入力します。今回は、ユーザー情報のテーブルを作成します。

Columns」タブを選択、「+」をクリックして以下のように設定します。

カラム名データ型制約
idSERIALPRIMARY KEY
usernameVARCHAR(50)UNIQUE, NOT NULL
emailVARCHAR(100)UNIQUE, NOT NULL
created_atTIMESTAMP WITH TIME ZONECURRENT_TIMESTAMP

設定の詳細:

  • id:自動増分する整数型の主キー。
  • username:
    • 最大50文字の可変長文字列。
    • 一意制約があり、NULL値は許可されない。
  • email:
    • 最大100文字の可変長文字列。
    • 一意制約があり、NULL値は許可されない。
  • created_at:
    • タイムゾーン付きのタイムスタンプ。
    • デフォルト値として現在の日時が設定される。

Save」をクリックすると、Columnsが作成されます。

コマンドラインでのデータベースとテーブルの作成

データベースの作成

  • コマンドプロンプトまたはターミナルを開きます。
  • 以下のコマンドでログインします。

※パスワード入力画面では文字は表示されませんが、コピペや入力はされています。
※Windowsではデフォルトでパスワード認証が要求されますが、Mac/Linuxのデフォルトでは通常、パスワードなしでログインできます。
※ログイン後、helpでコマンド操作方法を確認できます。\q で終了できます。

psql -U postgres

データベースを作成します。データベース名は「app」という名前にしました。

CREATE DATABASE app;

\c データベース名 」コマンドで特定のデータベースに接続します。

\c app

テーブルの作成

CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    username VARCHAR(50) UNIQUE NOT NULL,
    email VARCHAR(100) UNIQUE NOT NULL,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);

データベース一覧の表示

  • psqlにログイン:
psql -U postgres
  • データベースの一覧を表示:
\l

または、以下のSQLクエリを実行することでもデータベースの一覧を確認できます。

SELECT datname FROM pg_database;

テーブル一覧の表示

  • テーブルの一覧を表示:
\dt

このコマンドで、現在接続しているデータベース内のテーブルが一覧表示されます。

  • テーブルの詳細情報を取得:
\d テーブル名

このコマンドを実行すると、指定したテーブルのカラム、データ型、NULL制約、デフォルト値、インデックス、外部キーなどの詳細情報が表示されます。

  • テーブルの内容を確認:
SELECT * FROM テーブル名;

まとめ

  • PostgreSQLの主要な機能と利点について
  • Windows、Mac、Linuxの各OSにおけるPostgreSQLのインストールと設定方法
  • pgAdmin 4インストール方法基本的な使用方法
  • コマンドラインを使用したデータベースとテーブルの作成一覧表示の方法

PostgreSQLは、高度な機能優れた拡張性を持つオープンソースのデータベース管理システムです。そのインストールと設定プロセスは、使用するOSによって異なりますが、本記事では各環境での手順を解説しました。

コマンドラインでのデータベース操作の基本を学ぶことで、より深いレベルでのデータベース管理スキルを身につけることができます。これは、自動化スクリプトの作成やより高度なデータベース操作を行う際に非常に有用です。

コメント

タイトルとURLをコピーしました