PEM server and agent connection management mechanism
====================================================

適度な数を介して、またはPostgres Enterprise
ManagerPEMの接続プーリングを使用して、接続を効果的に管理できます。

非WindowsマシンでPEMエージェントからPEMサーバーへの接続数を制限するための接続プーラーとしてPgBouncerを使用できます。

以下では、PEMエージェントが接続プーラーとしてPgBouncerを使用する場合と使用しない場合の両方でデータベース接続を管理する方法を確認できます。

PgBouncerなし
-------------

デフォルト構成では、各PEMエージェントは、暗号化にSSLを使用してPEMデータベースサーバーに直接接続します。各PEMエージェントは、接続に独自の専用ユーザーを使用します。

たとえば、ID
1のユーザエージェントは、agent1としてPEMデータベースサーバーに接続します。

.. figure:: /images/pem_without_pgbouncer.png
   :width: 70% 
   :alt: Connecting to the PEM database without PgBouncer

   Connecting to the PEM database without PgBouncer

PgBouncerを使用する場合
-----------------------

PgBouncer対応環境では、PEMエージェントはPEMデータベースサーバーに直接接続できません。
PEMエージェントは、PgBouncerへの接続専用に構成したプロキシユーザーを使用する必要があります。この例では、すべてのPEMエージェント接続を処理するプロキシユーザーの名前は\ ``pem_agent_user1``
です。

PEMエージェントがSSLを使用してPgBouncerに接続すると、PgBouncerはPEMデータベースサーバーへの接続要求を管理します。
PgBouncerは、接続プーリング用に構成されたルールを使用して、たとえば、アクティブな接続の確立された最大数を尊重することにより、着信接続要求を管理します。

.. figure:: /images/pem_with_pgbouncer.png
   :width: 70% 
   :alt: Connecting to pgBouncer.

   Connecting to pgBouncer.

!!!note
接続プーラーとしてはPgBouncerバージョン1.9.0以降を使用します。バージョン1.9.0以降は、証明書認証をサポートしています。

.. ::
   PEMを使用したPgBouncerの構成の詳細については、 :ref:`Connection pooling using PgBouncer <Connection pooling using PgBouncer>` を参照してください。
