「SAVACAN」担当のMKです。
本記事では、PostgreSQLをWebブラウザ上で操作できるツール「pgAdmin4」のインストール方法についてご紹介します。
今回は、pgAdmin4のインストール手順とPostgreSQLへの接続までを解説します。操作方法そのものについては本記事では扱っておりませんので、あらかじめご了承ください。
pgAdmin4の公式サイトは こちら にあります。
なぜpgAdmin4を選んだのか
これまで弊社では、PostgreSQLの内部向け管理ツールとして phpPgAdmin を利用しておりました。
別件でPHP 8.2を使用する要件のサーバーを構築する必要があった際、phpPgAdminがPHP 8での動作を公式にサポートおらず、また何より何年も更新されていない状態でした。
そこで、PostgreSQLの公式ツールとなっているpgAdmin4 を試してみました。
pgAdmin4はどんなものか
pgAdmin4は JavaScriptとPythonで構成されているため、追加でPHPをインストールする必要がありません。
また、日本語での操作にも対応しており、PostgreSQLの psql コマンドで行えるほとんどの操作を、GUIベースで直感的に確認・操作できる点が大きなメリットです。
pgAdmin4は Windows アプリとしてもインストール可能ですが、本記事では Webブラウザからの利用方法に焦点を当てて紹介しています。
インストール内容
今回は AlmaLinux 8 を対象として、pgAdmin4 のインストール手順をご紹介します。
なお、本記事ではWeb サーバーの導入、firewalldの設定、PostgreSQLのインストールが完了していることを前提として解説いたします。
はじめにpgAdmin4のリポジトリをインストールします。
dnf install https://ftp.postgresql.org/pub/pgadmin/pgadmin4/yum/pgadmin4-redhat-repo-2-1.noarch.rpmpgAdmin4のWEB版と前提パッケージををインストールします。
dnf install pgadmin4-web policycoreutils-python-utils初期設定を実行しログイン用のメールアドレスとパスワードを設定します。
/usr/pgadmin4/bin/setup-web.sh IPアドレス制限する場合は、以下のファイルで設定できます。
/etc/httpd/conf.d/pgadmin4.conf参考例として、以下は自分のIPアドレス以外は全て拒否する書き方となります。
<IfModule mod_authz_core.c>
# Apache 2.4
# この行をコメントアウト
# Require all granted
# 下記2行を追加
Require ip あなたのIPアドレス/32
Require all denied
</IfModule>完了したら http://pgAdmin4インストールしたIPアドレス/pgadmin4/ にアクセスして、ログイン用メールアドレスとパスワードを入力します。

以上でpgAdmin4のインストールが完了です。
pgAdmin4からPostgreSQLに接続する
PostgreSQLへの接続設定を作成して、ブラウザからPostgreSQLを操作できるようにします。
新しいサーバーを追加をクリックします。

[一般]から任意の名前を入力します。

[接続]からホスト名/アドレスを入力して保存します。
ポート番号とユーザー名は必要に応じて変更してください。

設定が正しければ、ここまでの手順でPostgreSQLに接続できるかと思います。
もしPostgreSQLへの接続でエラーが出た場合は、PostgreSQLの /var/lib/pgsql/data/pg_hba.conf の接続設定などを見直してみるとうまくいくかもしれません。

まとめ
実際に使用してみて感じたのは、phpPgAdminと比べて、より現代的で見やすいユーザーインターフェースになったと思いました。とくに結果をタブで複数残せるようになった点は、複数のテーブルを使う際に便利だと思いました。
反面、テーブル内容の一覧表示までの手順が増えた点は少々手間ですし、また、クエリ結果画面で直接データ変更が可能になった点は手軽になった反面、操作ミスのリスクにもつながるかと感じました。
しかし何よりPostgreSQLの公式ツールという事で、最新機能への追従も早く、今後使っていく際には十分おすすめできるものと思います。
本記事が、pgAdmin4を導入してみようとお考えの方の参考になれば幸いです。
