目次
・環境について・UbuntuにPostgreSQLのインストールする
・PostgreSQLの設定:postgresユーザーのパスワード設定
・PostgreSQLの設定:外部からの接続方法
・PostgreSQLのアンインストール
構築環境について
OS:Ubuntu 24.04.3(VM上にインストール済み)
DB:PostgreSQL 18
UbuntuにPostgreSQLのインストールする
Ubuntu では 2つのインストール方法がある。
まずは簡単な「Ubuntu公式APTリポジトリ」からの方法を紹介。
まずは簡単な「Ubuntu公式APTリポジトリ」からの方法を紹介。
必要に応じて「PostgreSQL公式リポジトリ」も使える。
1. パッケージリストを更新
2. PostgreSQL と便利ツールをインストール
方法①:Ubuntu公式APTリポジトリからインストール(最も簡単)
Ubuntu に標準で入っているパッケージを使う方法。1. パッケージリストを更新
sudo apt update
sudo apt install postgresql postgresql-contrib※基本的にDBの基本機能のみを使用する場合は不要
3. サービスが起動しているか確認
sudo systemctl status postgresqlactive (running) ならOK。
4. バージョン確認
psql --version※2025年12月時点で16.xがインストールされた!!!
方法②:PostgreSQL公式APTリポジトリからインストール
(バージョン指定したい場合、最新版が欲しい場合)
PostgreSQL の公式リポジトリを追加して、任意のバージョンをインストールする方法。1. 自動設定(最も簡単)
sudo apt install -y postgresql-common
sudo /usr/share/postgresql-common/pgdg/apt.postgresql.org.sh
2. PostgreSQL をインストール
最新版を入れる場合:
バージョン指定する場合(例:18):
4. バージョン確認
どちらの方法を選べばいいのか…
Ubuntu公式APT
… 安定・簡単・すぐ使える 特定バージョンにこだわらない
最新版を入れる場合:
sudo apt install postgresql
バージョン指定する場合(例:18):
sudo apt install postgresql-18
4. バージョン確認
psql --version
どちらの方法を選べばいいのか…
Ubuntu公式APT
… 安定・簡単・すぐ使える 特定バージョンにこだわらない
PostgreSQL公式APT
… 最新版・バージョン選択可能 16/17/18 などを明確に使いたい
… 最新版・バージョン選択可能 16/17/18 などを明確に使いたい
PostgreSQLの設定:postgresユーザーのパスワード設定
PostgreSQL インストール後に「postgres / postgres」を設定する方法
※前提:PostgreSQLがインストールされていること① postgres ユーザーで psql に入る
②パスワードを設定(※psql の中で以下を実行)
sudo -u postgres psql
②パスワードを設定(※psql の中で以下を実行)
テンプレート:ALTER USER ユーザー名 WITH PASSWORD 'パスワード文字列';
実行コマンド:ALTER USER postgres WITH PASSWORD 'postgres';
④ psql を終了
これで、ユーザー"postgres"、パスワード"postgres"が設定される。
\q
これで、ユーザー"postgres"、パスワード"postgres"が設定される。
PostgreSQL の認証方式が “パスワード不要のモード(peer / ident / trust)になっている場合があるため、
設定ファイルの確認と修正を行う必要がある。
設定ファイルの確認と修正を行う必要がある。
※PostgreSQL には複数の認証方式があるが、Ubuntuのデフォルトは「peer 認証」
peer 認証
…OS のユーザー名と PostgreSQL のユーザー名が一致していれば、
パスワードなしでログインできる
パスワードなしでログインできる
パスワードを必ず要求させたい場合
PostgreSQL の設定ファイル "pg_hba.conf" を修正する必要がある。
場所(Ubuntu):/etc/postgresql/<バージョン>/main/pg_hba.conf
バージョン18をインストールしている場合は、
sudo nano /etc/postgresql/18/main/pg_hba.conf
修正内容
【変更前(デフォルト)】local all postgres peer【変更後(パスワード必須にする)】local all postgres md5
PostgreSQL を再起動:
sudo systemctl restart postgresql
これで、`psql` に入るときに必ずパスワードが必要になります。
動作確認
psql -U postgres -W
→ パスワード入力が求められるようになる。
PostgreSQLの設定:外部からの接続方法
外部から接続したい場合Ubuntu の PostgreSQL はデフォルトで「ローカル UNIX ソケット接続のみ許可」なので、
TCP 接続したい場合は以下の設定も必要になる。
1. postgresql.conf を編集
sudo nano /etc/postgresql/*/main/postgresql.conf
以下を有効化:
listen_addresses = '*'
2. pg_hba.conf を編集
sudo nano /etc/postgresql/*/main/pg_hba.conf
以下を追加(ローカルネットワークからの接続を許可する例):
host all all 0.0.0.0/0 md5
3. PostgreSQL を再起動
sudo systemctl restart postgresql
PostgreSQLのアンインストール
アンインストール方法はいくつか段階があります。目的に応じて選べます。1. サービスを停止する
sudo systemctl stop postgres
2. 単純にアンインストール(設定ファイルは残す)
sudo apt remove postgresql postgresql-contrib
※サービス本体は消えますが、設定ファイルやデータは残ります。
3. 完全削除(設定ファイルも含めて削除)
4. 使われなくなった依存パッケージも削除
※上記の remove/purge の後に実行する
5. データベースのデータも完全に削除したい場合
PostgreSQL のデータディレクトリは通常こにあるはず
(環境やPostgreSQLのバージョンによって異なる場合あり)
sudo apt purge postgresql postgresql-contrib
完全に削除するには、以下の情報も含めて削除する必要があります
・プログラム
・サービス
・設定ファイル
・データディレクトリ
・ユーザー
・グループ
・プログラム
・サービス
・設定ファイル
・データディレクトリ
・ユーザー
・グループ
4. 使われなくなった依存パッケージも削除
※上記の remove/purge の後に実行する
sudo apt autoremove
5. データベースのデータも完全に削除したい場合
PostgreSQL のデータディレクトリは通常こにあるはず
(環境やPostgreSQLのバージョンによって異なる場合あり)
/var/lib/postgresql/①ディレクトリの存在確認を行う
ls -l /var/lib/postgresql/
※なかったら、ディレクトリを探す必要あり
②ディレクトリの削除を行う
sudo rm -rf /var/lib/postgresql/
※本当に全データが消えるので注意
(必要に応じて、事前にバックアップを行っておくこと)
③設定ファイルが格納されているディレクトリを削除
④PostgreSQL のユーザーとグループを削除(必要に応じて)
⑤サービスを削除する
sudo rm -rf /etc/postgresql/
sudo rm -rf /etc/postgresql-common/
sudo rm -rf /var/log/postgresql/
④PostgreSQL のユーザーとグループを削除(必要に応じて)
sudo deluser postgres
sudo delgroup postgres
PostgreSQL 本体を削除しても、systemd のサービス定義だけが残っている状態
/usr/lib/systemd/system/postgresql.serviceこれを削除し、systemd をリロードすれば完全に消えます。
⑥サービスファイルを削除
※apt purge" しても、環境によっては、サービスが残ることがあります。
"/usr/lib/systemd/system/postgresql.service"や、
"/lib/systemd/system/postgresql.service"
これは Debian/Ubuntu のパッケージの仕様によるもので、
まれに purge が取りこぼすことがあるため、サービスを削除する
⑦systemd をリロード
※apt purge" しても、環境によっては、サービスが残ることがあります。
"/usr/lib/systemd/system/postgresql.service"や、
"/lib/systemd/system/postgresql.service"
これは Debian/Ubuntu のパッケージの仕様によるもので、
まれに purge が取りこぼすことがあるため、サービスを削除する
sudo rm /usr/lib/systemd/system/postgresql.service
⑦systemd をリロード
sudo systemctl daemon-reload
⑧ ステータス確認
これで"Unit postgresql.service could not be found."または、
"Unit postgresql.service not found."となれば完全削除成功。
6. 残骸チェックを行う
sudo systemctl status postgresql
これで"Unit postgresql.service could not be found."または、
"Unit postgresql.service not found."となれば完全削除成功。
6. 残骸チェックを行う
sudo find / -name "*postgresql*" 2>/dev/null

0 件のコメント:
コメントを投稿