1月 27, 2026ガイド
LinuxサーバーにPostgreSQLをインストールする方法
UbuntuとCentOSでPostgreSQLデータベースサーバーをインストール、設定、保護する完全ガイド。

PostgreSQLは、信頼性、機能の豊富さ、標準への準拠で知られる強力なオープンソースのリレーショナルデータベース管理システムです。このガイドは、Hiddence LinuxサーバーにPostgreSQLをインストールおよび設定するのに役立ちます。
Ubuntu/DebianにPostgreSQLをインストールする
PostgreSQLはデフォルトのリポジトリで利用可能です。最新バージョンをインストールします:
bash
sudo apt update
sudo apt install postgresql postgresql-contrib -y
# PostgreSQLを起動して有効化
sudo systemctl start postgresql
sudo systemctl enable postgresql
# インストールを確認
sudo systemctl status postgresql
psql --versionRHEL / CentOS / AlmaLinux / Rocky LinuxにPostgreSQLをインストールする
RHELベースのディストリビューションの場合、まずPostgreSQLリポジトリを追加する必要があります:
bash
# PostgreSQLリポジトリをインストール
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-9-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# CentOS 8/Rocky Linux 8の場合、次を使用:
# sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
# PostgreSQLをインストール
sudo dnf install -y postgresql15-server postgresql15
# データベースを初期化
sudo /usr/pgsql-15/bin/postgresql-15-setup initdb
# PostgreSQLを起動して有効化
sudo systemctl start postgresql-15
sudo systemctl enable postgresql-15
# インストールを確認
sudo systemctl status postgresql-15
psql --versionインストールの確認
bash
# PostgreSQLのステータスを確認
sudo systemctl status postgresql
# PostgreSQLのバージョンを確認
psql --version
# PostgreSQLに接続(Ubuntu/Debian)
sudo -u postgres psql
# PostgreSQLに接続(CentOS/RHEL)
sudo -u postgres psql -d postgresPostgreSQLの保護
postgresユーザーのパスワードを設定します:
bash
# PostgreSQLに接続
sudo -u postgres psql
# postgresユーザーのパスワードを設定
ALTER USER postgres PASSWORD 'あなたの強力なパスワード';
# PostgreSQLから退出
\qデータベースとユーザーの作成
bash
# postgresユーザーとして接続
sudo -u postgres psql
# データベースを作成
CREATE DATABASE myapp_db;
# ユーザーを作成
CREATE USER app_user WITH PASSWORD '強力なパスワード';
# 権限を付与
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO app_user;
# 退出
\qユーザーの管理
bash
# PostgreSQLに接続
sudo -u postgres psql
# すべてのユーザーを一覧表示
\du
# 新しいユーザーを作成
CREATE USER newuser WITH PASSWORD 'パスワード';
# 権限を付与
GRANT ALL PRIVILEGES ON DATABASE myapp_db TO newuser;
# 権限を取り消す
REVOKE ALL PRIVILEGES ON DATABASE myapp_db FROM newuser;
# ユーザーを削除
DROP USER newuser;リモート接続の有効化
リモート接続を許可するには、PostgreSQL設定ファイルを編集します:
bash
# pg_hba.confを編集(Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/pg_hba.conf
# pg_hba.confを編集(CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/pg_hba.conf
# 行を追加:
host all all 0.0.0.0/0 md5
# postgresql.confを編集(Ubuntu/Debian)
sudo nano /etc/postgresql/15/main/postgresql.conf
# postgresql.confを編集(CentOS/RHEL)
sudo nano /var/lib/pgsql/15/data/postgresql.conf
# 変更:
listen_addresses = '*'
# PostgreSQLを再起動
sudo systemctl restart postgresql基本的なPostgreSQLコマンド
bash
# データベースに接続
psql -U app_user -d myapp_db
# データベースを一覧表示
\l
# データベースに接続
\c database_name
# テーブルを一覧表示
\dt
# テーブルを説明
\d table_name
# SQLファイルを実行
psql -U app_user -d myapp_db -f script.sql
# データベースをバックアップ
pg_dump -U app_user myapp_db > backup.sql
# データベースを復元
psql -U app_user -d myapp_db < backup.sql便利なヒント
- データベースユーザーには常に強力なパスワードを使用してください
- pg_hba.confで特定のIPアドレスへのリモートアクセスを制限してください
- pg_dumpを使用して定期的にデータベースをバックアップしてください
- PostgreSQLログを監視:/var/log/postgresql/(Ubuntu)または/var/lib/pgsql/15/data/log/(CentOS)
- 高トラフィックアプリケーションには接続プーリング(pgBouncer)を使用してください
- セキュリティパッチのためにPostgreSQLを最新の安定バージョンに更新してください