英語マニュアル
•
PEMデータベースサーバの準備 - 第 3 章では、pgBouncerで使用するためのPEMデータベースサーバの準備について説明します。
•
pgBouncerの設定 - 第 4 章では、pgBouncerをPEMデータベースサーバと連携するように設定する方法について詳しく説明します。
•
PEMエージェントの設定 - 第 5 章では、pgBouncerに接続するためのPEMエージェントの設定に関する詳細情報を提供します。
この文書では PostgreSQLまたはAdvanced Serverデータベースを意味するためにPostgres という用語を使用します。
以下の説明では、 用語は、言語キーワード、ユーザー指定の値、リテラルなどの任意の単語または単語のグループを指します。用語の正確な意味は、それが使用される文脈によって異なります。
•
イタリック体のフォント は、通常は初めて定義する文章の中に新しい用語を導入します。
•
Fixed-width (mono-spaced) font は、 SQL コマンド、例で使用されている特定のテーブル名および列名、プログラミング言語のキーワード など、文字通りに指定する必要がある用語に使用され ます 。例えば、 SELECT * FROM emp;
•
Italic fixed-width font は、ユーザーが実際の使用法で値を置き換える必要がある用語に使用されます。例えば、 DELETE FROM table_name ;
•
角括弧[]は、囲まれた用語の1つまたはすべてを置換できることを示します。たとえば、 [ a | b ] 、「 a 」または「 b 」のいずれかを選択するか、または両方を選択しないことを意味します。
•
中括弧{}は、囲まれた選択肢のうち1つだけを指定する必要があることを示します。たとえば、 { a | b }正確に一つ「の意味a 」又は「 b 」を指定しなければなりません。
•
省略記号...は、前の用語が繰り返される可能性があることを示します。たとえば、 [ a | b ] ...は、シーケンス「 baaba 」があるかもしれないことを意味します。
C:¥Users¥susan¥AppData¥Local¥Temp¥vmware-susan¥VMwareDnD¥afdfbb11¥スクリーンショット2019-01-29 at 7.11.16 PM.png
C:\ Users \ susan \ AppData \ Local \ Temp \ vmware-susan \ VMwareDnD \ bddd8d5e \スクリーンショット
2。
PEMデータベースサーバで、 pem _ adminおよびpem _ agent _ poolロールメンバシップを持つpem _ admin1 という名前のユーザ (スーパーユーザ以外)を作成します。例えば:
3。
付与 PEMデータベース上pgbouncer・ユーザーにCONNECT権限を。例えば:
4。
付与 PEMデータベース上のPEMスキーマのpgbouncerユーザーにUSAGE権限を。例えば:
5。
グラントは、 PEMのpgbouncerユーザーにEXECUTE特権。 pemデータベースの_ agent _ pool _ auth ( テキスト )関数を取得します。例えば:
6。
ペムを 使ってください 。 PEMデータベースサーバにpem_agent_user1という名前のユーザを作成するcreate _ proxy _ agent _ user ( varchar )関数。例えば:
この関数は、ランダムなパスワードを使用して同じ名前のユーザーを作成し、許可するユーザーにPEM _ エージェントとPEM _ _ エージェント プールの役割を。これにより、pgBouncerはエージェントに代わってプロキシユーザを使用することができます。
2。
(ここで、pgBouncerためのetcディレクトリの所有者を変更し pgbouncer。INI存在)はEnterpriseDBは 、および0700にディレクトリのパーミッションを変更します。例えば:
3。
pgbouncer の内容を変更して ください 。 iniまたはedb - pgbouncer 。次のようにiniファイル:
[pgbouncer]
logfile = /var/log/edb/pgbouncer1.9/edb-pgbouncer-1.9.log
pidfile = /var/run/edb/pgbouncer1.9/edb-pgbouncer-1.9.pid
listen_addr = *
;;エージェントはpemデータベースに接続するためにこのポートを使用する必要があります
listen_port = 6432
;; SSL証明書認証をサポートする必要がある
;; PEMエージェント用
client_tls_sslmode = require
;;これらは存在するroot.crt、server.key、server.crtファイルです。
;;現在のPEMデータベースのデータディレクトリの下に
;; PEMエージェントが接続に使用するサーバー。
client_tls_ca_file = /var/lib/edb/as11/data/root.crt
client_tls_key_file = /var/lib/edb/as11/data/server.key
client_tls_cert_file = /var/lib/edb/as11/data/server.crt
;;クライアント接続にhbaファイルを使用する
auth_type = hba
;;認証ファイル、参照:
;; https://pgbouncer.github.io/config.html#auth_file
auth_file = /etc/edb/pgbouncer1.9/userlist.txt
;; HBAファイル
auth_hba_file = /etc/edb/pgbouncer1.9/hba_file
;;認証にはpem.get_agent_pool_auth(TEXT)関数を使用してください。
;; dbユーザー(プロキシエージェントユーザーとして使用)
auth_query = SELECT * FROM pem.get_agent_pool_auth($ 1)
;; pgbouncerを管理するためのDBユーザー
admin_users = pem_admin1
;; pgbouncerの統計収集用DBユーザー
stats_users = pem_admin1
server_reset_query = DISCARD ALL
;;インストールされている/必要なエージェントの数に基づいて変更する
max_client_conn = 500
;;この時点で使用されていない場合は、サーバー接続を閉じます。
;;ピーク後にプールから不要な接続を削除できます。
server_idle_timeout = 60
4。
次のコマンドを使用して、 pgBouncer用の/etc/edb/pgbouncer1.9/userlist.txt認証ファイルを作成および更新します。
メモ:スーパーユーザーは、PEM認証クエリー関数 pem.get_proxy_auth(text)を 呼び出すことはできません 。 pem _ adminユーザーがスーパーユーザーの場合は、認証ファイルにパスワードを追加する必要があります。これは上記の例ではenterprisedbです。
5。
以下の内容を含むpgBouncer用のHBAファイル( /etc/edb/pgbouncer1.9/hba_file )を作成します 。
6。
HBAファイルの所有者( /etc/edb/pgbouncer1.9/hba_file )をenterprisedbに変更し、ディレクトリのアクセス権を0600に変更します。例えば:
上記のコマンドで、コマンドライン引数 --pem-agent-userは、 / root / .pemディレクトリにpem_agent_user1データベースユーザー用のSSL証明書とキーペアを作成するようにエージェントに指示します。例えば:
これらは、PEMエージェントが pem_agent_user1 としてPEMデータベースサーバに接続するために使用されます 。 /usr/edb/pem/agent/etc/agent.cfgも作成されます 。