【PostgreSQL】 「pgAdmin 4」外部データベースサーバーの接続方法

pgAdmin4 で「外部PostgreSQLデータベース」を接続する方法を紹介します。複数の異なるデータベースをリモートで操作する事は、作業効率やセキュリティ面からも大きな効果があります。

pgAdmin 4 「外部データベースサーバー」の接続方法

今回、実際に接続するデータベースの環境

pgAdmin4がインストールされているクライアントPCから、PostgreSQLデータベースサーバーをリモートで操作できる様にします。
■外部データベースサーバー
 OS:Windows10 Home 22H2
 PostgreSQL:16.4-2
 pgAdmin4:8.12
■pgAdmin4クライアント
 OS:Windows10 PRO 22H2
 pgAdmin4:8.13


外部データベース(PostgreSQLサーバー)側の設定

PostgreSQLサーバー側の設定は以下の3点です。

  • 接続を許可するクライアントの設定
  • 接続を受け付けるネットワークアドレスの設定
  • ファイアーウォールによるポート開放


上記3点を具体的に紹介します。

>> 接続を許可するクライアントの設定

「pg_hda.conf」 ファイル内の「IPv4 local connections」セクション に、クライアントのIPアドレスを追加します。(下図赤枠参照)

アドレスの /32 はサブネットマスク(255.255.255.255)を表しています。この場合 指定したアドレス32ビットが固定され、1台のクライアントからしか接続できません。
同一セグメント内のクライアントから接続するには、サブネットマスクを/24(255.255.255.0) にします。


  • 1番目の「all」
    データベース名。all は全てのデータベース名を意味します。


  • 2番目の「all」
    ユーザー名。all は全てのユーザー名を意味します。


  • csram-sha-256
    クライアント接続を制御するために使用する認証方法
    パスワードをSCRAM-SHA-256(Salted Challenge Response Authentication Mechanism)で認証します。
    認証方法には、認証なしで接続を許可する「trust」や、パスワードをMD5ハッシュ化して認証する「md5」等があります。


「pg_hda.conf」の場所:C:\Program Files\PostgreSQL\16\data(デフォルト)


>> 接続を受け付けるネットワークアドレスの設定

「postgresql.conf」ファイル内の「listen_addresses」パラメタに、’‘ を指定します。

サーバが接続を受け付けるネットワークアドレスを指定するパラメータです。’*’ を指定するとサーバーが利用可能な全てのネットワークから接続できる様になります。


「pg_hda.conf」に指定するアドレスは、PostgreSQLに接続するクライアントのアドレスなので、混同しないようにしましょう。

postgresql.confの場所:C:\Program Files\PostgreSQL\16\data (デフォルト)


>> ファイアーウォールのポート開放

PostgreSQLサーバーとの接続はデフォルトで「5432」ポートを使用する為、ファイアーウォールのポートを開放します。解放の手順は以下の通り。


  • 受信の規則
    「新しい規則」を作成。


  • 規則の種類
    「ポート」を選択。


  • プロトコルおよびポート
    プロトコル:TCPを選択。
    特定のローカルポート:5432(デフォルト)を指定。他の場合は使用しているポート番号を入力。


  • 操作
    「接続を許可する」を選択。


  • プロファイル
    全てをチェック。


  • 名前
    何の為にポートを開放したのか、他の人が読んでも分かる「名前」を設定する。


以上でPostgreSQLサーバー側のポート開放は終了です。




pgAdmin 4 (クライアント)からの接続方法

接続手順を紹介します。


  • 外部データベース(PostgreSQLサーバー)の登録
    「servers」を右クリックして「登録」→「サーバー」を選択します。


  • 「一般タブ」の入力
    接続用の名前を入力します。ここでは分かり易く「connect_test」としました。


  • 「接続タブ」の入力 
    以下の項目を入力します。
    • 接続するサーバーの「ホスト名/IPアドレス」
    • 接続で利用するポート番号(ファイアーウォールで開放したポート番号)
    • 接続用のユーザー名
    • 接続用のユーザー名のパスワード


正常にサーバーが接続できると指定した名前のサーバーが表示され、スキーマを操作できます。



外部データベースサーバー接続の利点

外部データベースサーバーをpgAdmin4などのGUIツールでリモート接続すると、以下のような効果があります。

  • GUIによる操作の簡易性
    PostgreSQLサーバーの設定、データベースの操作やユーザー管理が容易にできます。コマンドラインの操作が不要になるため、初心者でも使いやすい環境となるでしょう。

  • 複数サーバーの統合管理
    複数の外部データベースを1つのGUIで統一的に管理できます。その為プロジェクト間や環境間でのデータベース操作が効率化し、管理コストが削減されます。

  • リアルタイムでのデータ参照と更新
    pgAdmin4を使えば、リモートサーバー上のデータをリアルタイムで参照・更新できます。

  • セキュリティの強化
    外部データベースとの接続は、SSLやSSHトンネルを使用して安全に行えます。重要なデータを保護しながらリモート操作が可能になり、セキュリティリスクを軽減します。

  • チームでの効率的な作業
    複数の開発者や管理者が同じ外部データベースにアクセスできるため、分散したチームでも統一された環境で作業が可能になります。

  • マルチプラットフォーム対応
    pgAdmin4はブラウザベースまたはデスクトップアプリとして利用できるため、異なるOS(Windows、macOS、Linux)間での外部データベース管理が一貫性を持って行えます。



pgAdmin 4 「外部データベース」の接続方法 まとめ

  • 外部データベース(PostgreSQLサーバー)側の設定
    • 接続を許可するクライアントの設定
    • 接続を受け付けるネットワークアドレスの設定
    • ファイアーウォールによる接続ポートの開放

  • pgAdmin4クライアント側の設定
    • 下記項目を入力して「servers」に外部データベース(PostgreSQLサーバー)を登録する
      • 接続用のサーバー名称
      • 接続するサーバーの「ホスト名/IPアドレス」
      • 接続で利用するポート番号(ファイアーウォールで開放したポート番号)
      • 接続用のユーザー名
      • 接続用のユーザー名のパスワード

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