本記事は、PostgreSQLの概要から基本的な使用方法まで網羅的に解説しています。Winsows,Mac,Linux でのインストール方法や pgAdmin 4(GUIツール)の使用方法、コマンドラインでのデータベース作成の基本も紹介します。
PostgreSQLとは?
PostgreSQLは、データを効率的に保存・管理・取得するためのオープンソースのリレーショナルデータベース管理システムです。
PostgreSQLは以下のような特徴を持つデータベース管理システムです:
- オープンソース: 無料で使用でき、ソースコードも公開されています。
- リレーショナル: データを表形式で管理し、表同士を関連付けられます。
- 堅牢性: 大量のデータを安全に扱えるよう設計されています。
主な機能
PostgreSQLでは以下のようなことができます:
- データの保存
- データの検索・取得
- データの更新・削除
- 複雑な条件での検索や集計
PostgreSQLは主にSQL言語を使って操作します。
SELECT * FROM users WHERE age > 20;
このコマンドは20歳以上のユーザーを全て取得します。
PostgreSQLの利点
- 低コスト: 基本的に無料で使えます。
- 拡張性: 大規模なデータベースにも対応できます。
- 標準SQL準拠: 他のデータベースとの互換性が高いです。
- 高度な分析機能: 複雑なデータ分析もサポートしています。
PostgreSQLのインストールと設定
Windowsの場合
公式サイトにアクセスします。
Windowsマークを選択します。
「Download the installer」をクリックします。
「Windows x86-64」の「16.4」をクリックしてダウンロードします。
ダウンロード完了したら、インストーラーをダブルクリックします。
「ユーザーアカウント制御」ウインドウが表示されるので、「はい」を選択します。
「Next」をクリックします。
保存先はデフォルトで問題ないので、「Next」をクリックします。
コンポーネントの選択は、デフォルトで問題ないので「Next」をクリックします。
デフォルトで選択されているコンポーネントには以下のようなものが含まれています:
- PostgreSQLサーバー
- pgAdmin 4(グラフィカル管理ツール)
- Stack Builder(追加ツールのインストーラー)
- Command Line Tools(psqlなどのコマンドラインツール)
データディレクトリの保存先もデフォルトで問題ないので「Next」をクリックします。
- パスワードの設定:
このパスワードは、PostgreSQLデータベースの管理者アカウント(postgres)に対するものです。
postgresユーザーとしてデータベースに接続する際や、管理タスクを実行する際に必要となります。インストール後、必要に応じてパスワードを変更することも可能です。 - パスワード入力欄:
- “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
- デフォルトのパッケージマネージャーを使用
sudo apt install postgresql
- 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
公式サイトからダウンロードする場合:
- ダウンロードページ: https://www.pgadmin.org/download/pgadmin-4-macos/
- インストール方法:
- 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
- デスクトップモード:
- 個人で使用する
- インストールと設定を簡単にしたい
- ローカルでのみ作業する
- Webモード:
- チームで使用する
- リモートアクセスが必要
- 複数のユーザーで管理を行う
初心者の方は、まずデスクトップモードから始めるのがおすすめです。使い方に慣れてきたら、必要に応じてWebモードを検討するとよいでしょう。
Webモードのセットアップ(pgadmin4またはpgadmin4-webをインストールした場合):
sudo /usr/pgadmin4/bin/setup-web.sh
最新情報は pgAdmin 4 ダウンロードページ を確認してください。
Red Hat / CentOS / Fedora
- リポジトリの設定:
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
- インストール:
# デスクトップモードとWebモードの両方をインストール
sudo yum install pgadmin4
# デスクトップモードのみをインストール
sudo yum install pgadmin4-desktop
# Webモードのみをインストール
sudo yum install pgadmin4-web
- デスクトップモード:
- 個人で使用する
- インストールと設定を簡単にしたい
- ローカルでのみ作業する
- Webモード:
- チームで使用する
- リモートアクセスが必要
- 複数のユーザーで管理を行う
初心者の方は、まずデスクトップモードから始めるのがおすすめです。使い方に慣れてきたら、必要に応じてWebモードを検討するとよいでしょう。
- Webモードのセットアップ(pgadmin4またはpgadmin4-webをインストールした場合):
sudo /usr/pgadmin4/bin/setup-web.sh
- アップグレード方法:
sudo yum upgrade pgadmin4
最新情報は pgAdmin 4 ダウンロードページ を確認してください。
pgAdmin 4(GUIツール)の使い方
次に、GUIアプリを使用してみます。
タスクバーの検索で「pgadmin」と入力します。
「pgAdmin 4」を開きます。タスクバーにピン留めするを選択すると起動時に便利です。
「Servers」を開くと、ウインドウが表示されるので、インストール時に設定したパスワードを入力してOKをクリックします。
- Windows:
通常、インストール時に設定したPostgreSQLサーバーのパスワードの入力が求められます。 - Mac/Linux:
デフォルトの PostgreSQL 設定では、通常、ローカル接続に対してパスワードは要求されません。これは、PostgreSQLの初期設定で「trust」認証や「peer」認証が使用されていることが多いためです。
ただし、pgAdmin4自体のマスターパスワード(設定されている場合)は、オペレーティングシステムに関わらず要求される可能性があります。
GUIでのデータベースとテーブル作成方法:
「PostgreSQL 16」を右クリックして「Create」→「Databese」を選択します。
「Database」に名前を入力して「Save」をクリックします
「myapp」→「Schemas」→「public」を開きます。
「Tables」→「Create」→「Table」を選択します。
「Name」にテーブル名を入力します。今回は、ユーザー情報のテーブルを作成します。
「Columns」タブを選択、「+」をクリックして以下のように設定します。
カラム名 | データ型 | 制約 |
---|---|---|
id | SERIAL | PRIMARY KEY |
username | VARCHAR(50) | UNIQUE, NOT NULL |
VARCHAR(100) | UNIQUE, NOT NULL | |
created_at | TIMESTAMP WITH TIME ZONE | CURRENT_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によって異なりますが、本記事では各環境での手順を解説しました。
コマンドラインでのデータベース操作の基本を学ぶことで、より深いレベルでのデータベース管理スキルを身につけることができます。これは、自動化スクリプトの作成やより高度なデータベース操作を行う際に非常に有用です。
コメント