環境構成設定

システム環境変数を使用して、Patroni構成ファイルで定義された構成パラメーターの一部をオーバーライドすることが可能です。このドキュメントには、Patroniによって処理されるすべての環境変数のリストを示しています。これらの変数を介して設定された値は、Patroni構成ファイルで設定された値よりも常に優先されます。

グローバル/ユニバーサル

  • PATRONI/_CONFIGURATION PATRONI_CONFIGURATION 環境変数を介してパトロニの構成全体を設定することが可能です。この場合、他の環境変数は考慮されません。

  • PATRONI/_NAME Patroniの現在のインスタンスが実行されているノードの名前。クラスターに対して一意である必要があります。

  • PATRONI/_NAMESPACE : Patroniがクラスターに関する情報を保持する構成ストア内のパス。デフォルト値/"/service/"

  • PATRONI/_SCOPE クラスター名

ログ

  • PATRONI/_LOG/_TYPE ログの形式を設定します。 PATRONI/_LOG/_TYPE または PATRONI/_LOG/_TYPE のいずれかです。 PATRONI/_LOG/_TYPE 形式を使用するには、 PATRONI/_LOG/_TYPE をインストールする必要があります。デフォルト値は PATRONI/_LOG/_TYPE です。

  • PATRONI/_LOG/_LEVEL 一般的なログレベルを設定します。デフォルト値は PATRONI/_LOG/_LEVEL です PATRONI/_LOG/_LEVEL を参照してください

  • PATRONI/_LOG/_TRACEBACK/_LEVEL トレースバックが表示されるレベルを設定します。デフォルト値は PATRONI/_LOG/_TRACEBACK/_LEVEL です。 PATRONI/_LOG/_TRACEBACK/_LEVEL を有効にした場合にのみトレースバックを表示する場合は、 PATRONI/_LOG/_TRACEBACK/_LEVEL に設定します。

  • PATRONI/_LOG/_FORMAT ログフォーマット文字列を設定します。ログタイプが PATRONI/_LOG/_FORMAT の場合、ログ形式は文字列である必要があります。使用可能な属性については、 PATRONI/_LOG/_FORMAT を参照してください。ログタイプが PATRONI/_LOG/_FORMAT の場合、ログ形式は文字列に加えてリストになります。各リスト項目はLogRecord属性に対応する必要があります。フィールド名のみが必要で、 %( および ) は省略する必要があることに注意してください。別のキー名でログフィールドを印刷する場合は、辞書キーがログフィールドであり、値がログに印刷するフィールドの名前である辞書を使用します。デフォルト値は %(asctime)s %(levelname)s: %(message)s です

  • PATRONI/_LOG/_DATEFORMAT 日時フォーマット文字列を設定します。 PATRONI/_LOG/_DATEFORMAT を参照してください。

  • PATRONI/_LOG/_STATIC/_FIELDS ログにフィールドを追加します。このオプションは、ログタイプが PATRONI/_LOG/_STATIC/_FIELDS に設定されている場合にのみ使用できます。例 PATRONI_LOG_STATIC_FIELDS=/"{app: patroni}/"

  • PATRONI/_LOG/_MAX/_QUEUE/_SIZE Patroniは2段階ロギングを使用しています。ログレコードはインメモリキューに書き込まれ、キューから取得し、stderrまたはファイルに書き込む別のスレッドがあります。内部キューの最大サイズは、デフォルトで PATRONI/_LOG/_MAX/_QUEUE/_SIZE レコードによって制限されます。これは、過去1時間20分ログを保持するのに十分です。

  • PATRONI/_LOG/_DIR アプリケーションログを書き込むディレクトリ。ディレクトリは存在し、Patroniを実行するユーザーが書き込み可能である必要があります。この環境変数を設定すると、アプリケーションはデフォルトで4つの25MBログを保持します。 `PATRONI_LOG_FILE_NUM`および`PATRONI_LOG_FILE_SIZE`を使用してこれらのリテンション値を調整できます。以下を参照してください。

  • PATRONI/_LOG/_MODE ログファイルのアクセス許可たとえば 0644 。指定しない場合、権限は現在のumask値に基づいて設定されます。

  • PATRONI/_LOG/_FILE/_NUM 保持するアプリケーションログの数。

  • PATRONI/_LOG/_FILE/_SIZE ログローリングをトリガーするpatroni.logファイルのサイズバイト単位。

  • PATRONI/_LOG/_LOGGERS Pythonモジュールごとにロギングレベルを再定義します。例 PATRONI_LOG_LOGGERS=/"{patroni.postmaster: WARNING, urllib3: DEBUG}/"

  • PATRONI/_LOG/_DEDUPLICATE/_HEARTBEAT/_LOGS true に設定されている場合、同一の連続したハートビートログは出力されません。デフォルト値は false です。

警告

HAループの実行時間は、リソースの枯渇および同様の問題によるフェイルオーバーを診断する際に非常に貴重な情報になります。 PATRONI_LOG_DEDUPLICATE_HEARTBEAT_LOGS が true に設定されている場合、 HAループの実行に対してログは生成されないため、リーダーが変更されないため、この潜在的に役立つ情報はログから利用できません。

シタス

Enables integration Patroni with Citus. If configured, Patroni will take care of registering Citus worker nodes on the coordinator. You can find more information about Citus support here.

  • PATRONI/_CITUS/_GROUP CitusグループID、整数。コーディネーターには 0 を使用し、ワーカーには 1 、 2 などを使用します

  • PATRONI/_CITUS/_DATABASE citus 拡張機能を作成するデータベース。コーディネーターとすべてのワーカーで同じである必要があります。現在、1つのデータベースのみがサポートされています。

領事

  • PATRONI/_CONSUL/_HOST Consulローカルエージェントのホスト:ポート。

  • PATRONI/_CONSUL/_URL 領事ローカルエージェントのURL、形式はhttp(s)://host:port

  • PATRONI/_CONSUL/_PORT オプショナルのConsulポート

  • PATRONI/_CONSUL/_SCHEME オプショナル PATRONI/_CONSUL/_SCHEME または PATRONI/_CONSUL/_SCHEME 、デフォルトは PATRONI/_CONSUL/_SCHEME

  • PATRONI/_CONSUL/_TOKEN オプショナルのACLトークン

  • PATRONI/_CONSUL/_VERIFY オプショナル HTTPS要求のSSL証明書を検証するかどうか

  • PATRONI/_CONSUL/_CACERT :(オプショナル)ca証明書。存在する場合、検証が有効になります。

  • PATRONI/_CONSUL/_CERT オプショナル クライアント証明書を含むファイル

  • PATRONI/_CONSUL/_KEY オプショナル クライアントキーを含むファイル。キーが証明書の一部である場合、空にすることができます。

  • PATRONI/_CONSUL/_DC オプショナル 通信するデータセンター。デフォルトでは、ホストのデータセンターが使用されます。

  • PATRONI/_CONSUL/_CONSISTENCY :(オプショナル)consul一貫性モードを選択します。使用可能な値は default 、 consistent 、または stale です PATRONI/_CONSUL/_CONSISTENCY _の詳細

  • PATRONI/_CONSUL/_CHECKS セッションに使用されるConsulヘルスチェックのオプショナルリスト。デフォルトでは、空のリストが使用されます。

  • PATRONI/_CONSUL/_REGISTER/_SERVICE オプショナル スコープパラメーターで定義された名前と、ノードのロールに応じてタグマスター、プライマリ、レプリカ、またはスタンバイリーダーでサービスを登録するかどうか。デフォルト PATRONI/_CONSUL/_REGISTER/_SERVICE

  • PATRONI/_CONSUL/_SERVICE/_TAGS :(オプショナル)ロールとは別にConsulサービスに追加する追加の静的タグ primary / replica / standby-leader 。デフォルトでは、空のリストが使用されます。

  • PATRONI/_CONSUL/_SERVICE/_CHECK/_INTERVAL オプショナル 登録されたURLに対してヘルスチェックを実行する頻度

  • PATRONI/_CONSUL/_SERVICE/_CHECK/_TLS/_SERVER/_NAME オプションTLSを介して接続するときにSNIホストをオーバーライドします。 PATRONI/_CONSUL/_SERVICE/_CHECK/_TLS/_SERVER/_NAME _も参照してください。

etcd

  • PATRONI/_ETCD/_PROXY etcdのプロキシURL。プロキシを使用してetcdに接続する場合、 PATRONI/_ETCD/_PROXY の代わりにこのパラメーターを使用します

  • PATRONI/_ETCD/_URL etcdのurl、形式はhttp(s)://(username:password@)host:port

  • PATRONI/_ETCD/_HOSTS 'host1:port1'、'host2:port2'などの形式のetcdエンドポイントのリスト

  • PATRONI/_ETCD/_USE/_PROXIES このパラメーターがtrueに設定されている場合、Patroniは PATRONI/_ETCD/_USE/_PROXIES をプロキシのリストと見なし、etcdクラスターのトポロジ検出を実行しませんが、 PATRONI/_ETCD/_USE/_PROXIES の固定リストに固執します。

  • PATRONI/_ETCD/_PROTOCOL httpまたはhttps、指定しない場合、httpが使用されます。 PATRONI/_ETCD/_PROTOCOL または PATRONI/_ETCD/_PROTOCOL が指定されている場合、 - はそれらからプロトコルを取得します。

  • PATRONI/_ETCD/_HOST etcdエンドポイントのホスト:ポート。

  • PATRONI/_ETCD/_SRV クラスター自動検出のSRVレコードを検索するドメイン。 Patroniは、指定されたドメインのこれらのSRVサービス名を照会しようとします最初に成功するまでこの順序で _etcd-client-ssl 、 _etcd-client 、 _etcd-ssl 、 _etcd 、 _etcd-server-ssl 、 _etcd-server 。 _etcd-server-ssl または _etcd-server のSRVレコードが取得された場合、 ETCDピアプロトコルが使用され、使用可能なメンバーのETCDを照会します。それ以外の場合、SRVレコードのホストが使用されます。

  • PATRONI/_ETCD/_SRV/_SUFFIX 検出中に照会されるSRV名前のサフィックスを構成します。このフラグを使用して、同じドメインの下の複数のetcdクラスターを区別します。 PATRONI/_ETCD/_SRV/_SUFFIX と組み合わせてのみ動作します。たとえば、 PATRONI_ETCD_SRV_SUFFIX=foo および PATRONI_ETCD_SRV=example.org が設定されている場合、次のDNS SRVクエリーが作成されます。 _etcd-client-ssl-foo._tcp.example.com および考えられるすべてのETCD SRVサービス名など。

  • PATRONI/_ETCD/_USERNAME etcd認証のユーザー名。

  • PATRONI/_ETCD/_PASSWORD etcd認証のパスワード。

  • PATRONI/_ETCD/_CACERT ca証明書。存在する場合、検証が有効になります。

  • PATRONI/_ETCD/_CERT クライアント証明書を含むファイル。

  • PATRONI/_ETCD/_KEY クライアントキーを含むファイル。キーが証明書の一部である場合、空にすることができます。

etcdv3

Etcdv3の環境名はEtcdの場合と似ていますが、変数名で ETCD の代わりに ETCD3 を使用する必要があるだけです。例 PATRONI_ETCD3_HOST 、 PATRONI_ETCD3_CACERT など。

警告

プロトコルバージョン2で作成されたキーはプロトコルバージョン3では可視されず、その逆もあるため、Patroni構成を更新するだけでEtcdからEtcdv3に切り替えることはできません。さらに、PatroniはEtcdのgRPC-gatewayプロキシを使用してV3 APIと通信します。これは、TLS共通名認証が不可能であることを意味します。

ZooKeeper

  • PATRONI/_ZOOKEEPER/_HOSTS ZooKeeperクラスターメンバーのコンマ区切りリスト/" 'host1:port1', 'host2:port2', 'etc...'/"。すべてのエンティティを引用することが重要です。

  • PATRONI/_ZOOKEEPER/_USE/_SSL オプショナル SSLを使用するかどうか。デフォルト false 。 false に設定されている場合、SSL固有のパラメーターはすべて無視されます。

  • PATRONI/_ZOOKEEPER/_CACERT :(オプショナル)CA証明書。存在する場合、検証が有効になります。

  • PATRONI/_ZOOKEEPER/_CERT オプショナル クライアント証明書を含むファイル。

  • PATRONI/_ZOOKEEPER/_KEY オプショナル クライアントキーを含むファイル。

  • PATRONI/_ZOOKEEPER/_KEY/_PASSWORD オプショナル クライアントキーのパスワード。

  • PATRONI/_ZOOKEEPER/_VERIFY オプショナル 証明書を検証するかどうか。デフォルト true 。

  • PATRONI/_ZOOKEEPER/_SET/_ACLS オプショナル 設定されている場合、作成する各ZノードにデフォルトのACLを適用するようにKazooを構成します。 ACLは'x509'スキーマを想定し、キーとしてプリンシパルを使用し、値のリストとして1つ以上の権限を使用して辞書として指定する必要があります。 権限は、 CREATE 、 READ 、 WRITE 、 DELETE または ADMIN のいずれかです。 例 set_acls: {CN=principal1: [CREATE, READ], CN=principal2: [ALL]} 。

  • PATRONI/_ZOOKEEPER/_AUTH/_DATA オプショナル 接続に使用する認証資格情報。 `scheme`がキーであり、`credential`が値である形式の辞書である必要があります。デフォルトは空の辞書です。

注釈

SSLをサポートするには、 kazoo>=2.6.0 をインストールする必要があります。

出展者

  • PATRONI/_EXHIBITOR/_HOSTS 'host1,host2,etc...'形式の出展者ZooKeeperノードの初期リスト。このリストは、出展者ZooKeeperクラスタートポロジが変更されるたびに、自動的に更新されます。

  • PATRONI/_EXHIBITOR/_PORT エキシビターポート。

Kubernetes

  • PATRONI/_KUBERNETES/_BYPASS/_API/_SERVICE オプショナル Kubernetes APIと通信する場合、Patroniは通常`kubernetes`サービスに依存しています。そのアドレスは`KUBERNETES_SERVICE_HOST`環境変数を介してポッドで公開されます。 PATRONI_KUBERNETES_BYPASS_API_SERVICE`が ``true` に設定されている場合、Patroniはサービスの背後にあるAPIノードのリストを解決し、それらに直接接続します。

  • PATRONI/_KUBERNETES/_NAMESPACE オプショナル パトロニポッドが実行されているKubernetes名前空間。デフォルト値は`default`です。

  • PATRONI/_KUBERNETES/_LABELS {label1: value1, label2: value2} フォーマットのラベル。これらのラベルは、現在のクラスターに関連付けられている既存のオブジェクトポッドとエンドポイントまたは構成マップを見つけるために使用されます。また、Patroniは、作成するすべてのオブジェクトエンドポイントまたはConfigMapにそれらを設定します。

  • PATRONI/_KUBERNETES/_SCOPE/_LABEL オプショナル クラスター名を含むラベルの名前。デフォルト値は`cluster-name`です。

  • PATRONI/_KUBERNETES/_BOOTSTRAP/_LABELS オプショナル {label1: value1, label2: value2} 形式のラベル。これらのラベルは、Patroniポッドの状態が initializing new cluster 、 running custom bootstrap script 、 starting after custom bootstrap または creating replica のいずれかである場合に割り当てられます。

  • PATRONI/_KUBERNETES/_ROLE/_LABEL ロール`primary`、replica`またはその他のカスタム値を含むラベルの名前。 Patroniは、実行されるポッドにこのラベルを設定します。デフォルト値は ``role` です。

  • PATRONI/_KUBERNETES/_LEADER/_LABEL/_VALUE Postgresロールが`primary`の場合のポッドラベルのオプショナル値。デフォルト値は`primary`です。

  • PATRONI/_KUBERNETES/_FOLLOWER/_LABEL/_VALUE Postgresロールが`replica`の場合のポッドラベルのオプショナル値。デフォルト値は`replica`です。

  • PATRONI/_KUBERNETES/_STANDBY/_LEADER/_LABEL/_VALUE Postgresロールが standby_leader の場合のポッドラベルのオプショナル値。デフォルト値は primary です。

  • PATRONI/_KUBERNETES/_TMP/_ROLE/_LABEL ロール`primary`または`replica`を含む一時ラベルのオプションの名前。このラベルの値は、常に対応するロールのデフォルトを使用します。必要な場合にのみ設定します。

  • PATRONI/_KUBERNETES/_USE/_ENDPOINTS オプショナル。trueに設定されている場合、PatroniはConfigMapの代わりにエンドポイントを使用してリーダー選挙を実行し、クラスター状態を維持します。

  • PATRONI/_KUBERNETES/_POD/_IP オプショナル パトローニが実行されているポッドのIPアドレス。この値は、`PATRONI_KUBERNETES_USE_ENDPOINTS`が有効な場合に必要で、ポッドのPostgreSQLが昇格するときにリーダーエンドポイントのサブセットを設定するために使用されます。

  • PATRONI/_KUBERNETES/_PORTS オプショナル サービスオブジェクトにポートの名前がある場合、同じ名前がEndpointオブジェクトに表示される必要があります。それ以外の場合、サービスは機能しません。たとえば、サービスが {Kind: Service, spec: {ports: [{name: postgresql, port: 5432, targetPort: 5432}]}} として定義されている場合、 PATRONI_KUBERNETES_PORTS='[{/"name/": /"postgresql/", /"port/": 5432}]' を設定する必要があります。Patroniはそれを使用してリーダーエンドポイントのサブセットを更新します。このパラメータは、`PATRONI_KUBERNETES_USE_ENDPOINTS`が設定されている場合にのみ使用されます。

  • PATRONI/_KUBERNETES/_CACERT オプショナル Kubernetes API SSL証明書の検証中に使用する信頼できるCAの証明書を含むCA_BUNDLEファイルを指定します。提供されない場合、patroniはServiceAccountシークレットによって提供される値を使用します。

  • PATRONI/_RETRIABLE/_HTTP/_CODES 再試行するK8s APIからのHTTPステータスコードのオプショナルリスト。デフォルトでは、Patroniは 500 、 503 、および 504 、またはK8s API応答に retry-after HTTPヘッダーがある場合に再試行します。

Raft非推奨

  • PATRONI/_RAFT/_SELF/_ADDR Raft接続をリッスンする ip:port 。 self_addr は、クラスターの他のノードからアクセスできる必要があります。設定されていない場合、ノードはコンセンサスに参加しません。

  • PATRONI/_RAFT/_BIND/_ADDR オプショナルのRaft接続をリッスンする ip:port 。指定しない場合、 self_addr が使用されます。

  • PATRONI/_RAFT/_PARTNER/_ADDRS クラスター内の他のPatroniノードのリスト /"'ip1:port1','ip2:port2'/" 。すべてのエンティティを引用することが重要です。

  • PATRONI/_RAFT/_DATA/_DIR Raftログとスナップショットを保存するディレクトリ。指定しない場合、現在の作業ディレクトリが使用されます。

  • PATRONI/_RAFT/_PASSWORD オプショナル 指定されたパスワードでRaftトラフィックを暗号化します。 cryptography Pythonモジュールが必要です。

PostgreSQL

  • PATRONI/_POSTGRESQL/_LISTEN PostgresがリッスンするIPアドレス+ポート。ポートコンポーネントがコロンで最後のものつまり listen: 127.0.0.1,127.0.0.2:5432 の後に追加される限り、複数のコンマ区切りアドレスが許可されます。 Patroniは、このリストの最初のアドレスを使用して、PostgreSQLノードへのローカル接続を確立します。

  • PATRONI/_POSTGRESQL/_CONNECT/_ADDRESS 他のノードおよびアプリケーションからPostgresにアクセスできるIPアドレス+ポート。

  • PATRONI/_POSTGRESQL/_PROXY/_ADDRESS Postgresの横で実行されている接続プールpgbouncerなどにアクセスできるIPアドレス+ポート。値は proxy_url としてDCSのメンバーキーに書き込まれ、サービス検出に使用または役立つ可能性があります。

  • PATRONI/_POSTGRESQL/_DATA/_DIR Postgresデータディレクトリの場所。既存またはPatroniによって初期化されます。

  • PATRONI/_POSTGRESQL/_CONFIG/_DIR Postgres構成ディレクトリの場所。デフォルトはデータディレクトリです。 Patroniによって書き込み可能である必要があります。

  • PATRONI/_POSTGRESQL/_BIN_DIR PostgreSQLバイナリへのパス。 pg_ctl、initdb、pg_controldata、pg_basebackup、postgres、pg_isready、pg_rewind デフォルト値は空の文字列で、PATH環境変数が実行可能ファイルを見つけるために使用されることを意味します。

  • PATRONI/_POSTGRESQL/_BIN/_PG/_CTL オプショナル pg_ctl バイナリのカスタム名。

  • PATRONI/_POSTGRESQL/_BIN/_INITDB オプショナル initdb バイナリのカスタム名。

  • PATRONI/_POSTGRESQL/_BIN/_PG/_CONTROLDATA オプショナル pg_controldata バイナリのカスタム名。

  • PATRONI/_POSTGRESQL/_BIN/_PG/_BASEBACKUP オプショナル pg_basebackup バイナリのカスタム名。

  • PATRONI/_POSTGRESQL/_BIN/_POSTGRES オプショナル postgres バイナリのカスタム名。

  • PATRONI/_POSTGRESQL/_BIN/_IS/_READY オプショナル pg_isready バイナリのカスタム名。

  • PATRONI/_POSTGRESQL/_BIN/_PG/_REWIND オプショナル pg_rewind バイナリのカスタム名。

  • PATRONI/_POSTGRESQL/_PGPASS PATRONI/_POSTGRESQL/_PGPASS _パスワードファイルへのパス。 Patroniは、 pg/_basebackupを実行する前およびその他の状況でこのファイルを作成します。場所はPatroniによって書き込み可能である必要があります。

  • PATRONI/_REPLICATION/_USERNAME レプリケーションユーザー名。ユーザーは初期化中に作成されます。レプリカはこのユーザーを使用して、ストリーミングレプリケーションを介してレプリケーションソースにアクセスします

  • PATRONI/_REPLICATION/_PASSWORD レプリケーションパスワード。ユーザーは初期化中に作成されます。

  • PATRONI/_REPLICATION/_SSLMODE オプショナル PATRONI/_REPLICATION/_SSLMODE _接続パラメーターにマップします。これにより、クライアントはサーバーとのTLSネゴシエーションモードのタイプを指定できます。各モードの動作の詳細については、 PATRONI/_REPLICATION/_SSLMODE _にアクセスしてください。デフォルトモードは prefer です。

  • PATRONI/_REPLICATION/_SSLKEY オプショナル PATRONI/_REPLICATION/_SSLKEY _接続パラメーターにマップします。これは、クライアントの証明書で使用される秘密キーの場所を指定します。

  • PATRONI/_REPLICATION/_SSLPASSWORD オプショナル PATRONI/_REPLICATION/_SSLPASSWORD _接続パラメーターにマップします。これは、 PATRONI_REPLICATION_SSLKEY で指定された秘密キーのパスワードを指定します。

  • PATRONI/_REPLICATION/_SSLCERT オプショナル PATRONI/_REPLICATION/_SSLCERT _接続パラメーターにマップします。これは、クライアント証明書の場所を指定します。

  • PATRONI/_REPLICATION/_SSLROOTCERT オプショナル PATRONI/_REPLICATION/_SSLROOTCERT _接続パラメーターにマップします。これは、クライアントがサーバーの証明書を検証するために使用する1つ以上の認証局CA証明書を含むファイルの場所を指定します。

  • PATRONI/_REPLICATION/_SSLCRL オプショナル PATRONI/_REPLICATION/_SSLCRL _接続パラメーターにマップします。これは、証明書失効リストを含むファイルの場所を指定します。クライアントは、このリストに存在する証明書を持つサーバーへの接続を拒否します。

  • PATRONI/_REPLICATION/_SSLCRLDIR オプショナル PATRONI/_REPLICATION/_SSLCRLDIR _接続パラメーターにマップします。これは、証明書失効リストを含むファイルが含まれるディレクトリの場所を指定します。クライアントは、このリストに存在する証明書を持つサーバーへの接続を拒否します。

  • PATRONI/_REPLICATION/_SSLNEGOTIATION オプショナル PATRONI/_REPLICATION/_SSLNEGOTIATION _接続パラメーターにマップします。これは、SSLが使用される場合、SSL暗号化がサーバーとネゴシエートされる方法を制御します。

  • PATRONI/_REPLICATION/_GSSENCMODE オプショナル PATRONI/_REPLICATION/_GSSENCMODE _接続パラメーターにマップします。これは、安全なGSS TCP/IP接続をサーバーとネゴシエートするかどうか、またはその優先順位を決定します

  • PATRONI/_REPLICATION/_CHANNEL/_BINDING オプショナル PATRONI/_REPLICATION/_CHANNEL/_BINDING _接続パラメーターにマップします。これは、クライアントのチャネルバインディングの使用を制御します。

  • PATRONI/_SUPERUSER/_USERNAME スーパーユーザーの名前、初期化initdb中に設定され、後でPatroniがpostgresに接続するために使用されます。また、このユーザーはpg_rewindによって使用されます。

  • PATRONI/_SUPERUSER/_PASSWORD スーパーユーザーのパスワード、初期化initdb中に設定します。

  • PATRONI/_SUPERUSER/_SSLMODE オプショナル PATRONI/_SUPERUSER/_SSLMODE _接続パラメーターにマップします。これにより、クライアントはサーバーとのTLSネゴシエーションモードのタイプを指定できます。各モードの動作の詳細については、 PATRONI/_SUPERUSER/_SSLMODE _にアクセスしてください。デフォルトモードは prefer です。

  • PATRONI/_SUPERUSER/_SSLKEY オプショナル PATRONI/_SUPERUSER/_SSLKEY _接続パラメーターにマップします。これは、クライアントの証明書で使用される秘密キーの場所を指定します。

  • PATRONI/_SUPERUSER/_SSLPASSWORD オプショナル PATRONI/_SUPERUSER/_SSLPASSWORD _接続パラメーターにマップします。これは、 PATRONI_SUPERUSER_SSLKEY で指定された秘密キーのパスワードを指定します。

  • PATRONI/_SUPERUSER/_SSLCERT オプショナル PATRONI/_SUPERUSER/_SSLCERT _接続パラメーターにマップします。これは、クライアント証明書の場所を指定します。

  • PATRONI/_SUPERUSER/_SSLROOTCERT オプショナル PATRONI/_SUPERUSER/_SSLROOTCERT _接続パラメーターにマップします。これは、クライアントがサーバーの証明書を検証するために使用する1つ以上の認証局CA証明書を含むファイルの場所を指定します。

  • PATRONI/_SUPERUSER/_SSLCRL オプショナル PATRONI/_SUPERUSER/_SSLCRL _接続パラメーターにマップします。これは、証明書失効リストを含むファイルの場所を指定します。クライアントは、このリストに存在する証明書を持つサーバーへの接続を拒否します。

  • PATRONI/_SUPERUSER/_SSLCRLDIR オプショナル PATRONI/_SUPERUSER/_SSLCRLDIR _接続パラメーターにマップします。これは、証明書失効リストを含むファイルが含まれるディレクトリの場所を指定します。クライアントは、このリストに存在する証明書を持つサーバーへの接続を拒否します。

  • PATRONI/_SUPERUSER/_SSLNEGOTIATION オプショナル PATRONI/_SUPERUSER/_SSLNEGOTIATION _接続パラメーターにマップします。これは、SSLが使用される場合、SSL暗号化がサーバーとネゴシエートされる方法を制御します。

  • PATRONI/_SUPERUSER/_GSSENCMODE オプショナル PATRONI/_SUPERUSER/_GSSENCMODE _接続パラメーターにマップします。これは、安全なGSS TCP/IP接続をサーバーとネゴシエートするかどうか、またはその優先順位を決定します

  • PATRONI/_SUPERUSER/_CHANNEL/_BINDING オプショナル PATRONI/_SUPERUSER/_CHANNEL/_BINDING _接続パラメーターにマップします。これは、クライアントのチャネルバインディングの使用を制御します。

  • PATRONI/_REWIND/_USERNAME pg_rewind のユーザーのオプショナルの名前。ユーザーはpostgres 11+の初期化中に作成され、必要なすべての PATRONI/_REWIND/_USERNAME _が付与されます。

  • PATRONI/_REWIND/_PASSWORD pg_rewind のユーザーのオプショナルパスワード。ユーザーは初期化中に作成されます。

  • PATRONI/_REWIND/_SSLMODE オプショナル PATRONI/_REWIND/_SSLMODE _接続パラメーターにマップします。これにより、クライアントはサーバーとのTLSネゴシエーションモードのタイプを指定できます。各モードの動作の詳細については、 PATRONI/_REWIND/_SSLMODE _にアクセスしてください。デフォルトモードは prefer です。

  • PATRONI/_REWIND/_SSLKEY オプショナル PATRONI/_REWIND/_SSLKEY _接続パラメーターにマップします。これは、クライアントの証明書で使用される秘密キーの場所を指定します。

  • PATRONI/_REWIND/_SSLPASSWORD オプショナル PATRONI/_REWIND/_SSLPASSWORD _接続パラメーターにマップします。これは、 PATRONI_REWIND_SSLKEY で指定された秘密キーのパスワードを指定します。

  • PATRONI/_REWIND/_SSLCERT オプショナル PATRONI/_REWIND/_SSLCERT _接続パラメーターにマップします。これは、クライアント証明書の場所を指定します。

  • PATRONI/_REWIND/_SSLROOTCERT オプショナル PATRONI/_REWIND/_SSLROOTCERT _接続パラメーターにマップします。これは、クライアントがサーバーの証明書を検証するために使用する1つ以上の認証局CA証明書を含むファイルの場所を指定します。

  • PATRONI/_REWIND/_SSLCRL オプショナル PATRONI/_REWIND/_SSLCRL _接続パラメーターにマップします。これは、証明書失効リストを含むファイルの場所を指定します。クライアントは、このリストに存在する証明書を持つサーバーへの接続を拒否します。

  • PATRONI/_REWIND/_SSLCRLDIR オプショナル PATRONI/_REWIND/_SSLCRLDIR _接続パラメーターにマップします。これは、証明書失効リストを含むファイルが含まれるディレクトリの場所を指定します。クライアントは、このリストに存在する証明書を持つサーバーへの接続を拒否します。

  • PATRONI/_REWIND/_SSLNEGOTIATION オプショナル PATRONI/_REWIND/_SSLNEGOTIATION _接続パラメーターにマップします。これは、SSLが使用される場合、SSL暗号化がサーバーとネゴシエートされる方法を制御します。

  • PATRONI/_REWIND/_GSSENCMODE オプショナル PATRONI/_REWIND/_GSSENCMODE _接続パラメーターにマップします。これは、安全なGSS TCP/IP接続をサーバーとネゴシエートするかどうか、またはその優先順位を決定します

  • PATRONI/_REWIND/_CHANNEL/_BINDING オプショナル PATRONI/_REWIND/_CHANNEL/_BINDING _接続パラメーターにマップします。これは、クライアントのチャネルバインディングの使用を制御します。

REST API

  • PATRONI/_RESTAPI/_CONNECT/_ADDRESS REST APIにアクセスするためのIPアドレスとポート。

  • PATRONI/_RESTAPI/_LISTEN HAProxyのヘルスチェック情報を提供するために、PatroniがリッスンするIPアドレスとポート。

  • PATRONI/_RESTAPI/_USERNAME 安全でないREST APIエンドポイントを保護するためのBasic-authユーザー名。

  • PATRONI/_RESTAPI/_PASSWORD 安全でないREST APIエンドポイントを保護するためのBasic-authパスワード。

  • PATRONI/_RESTAPI/_CERTFILE PEM形式の証明書を含むファイルを指定します。 certfileが指定されないか、空のままの場合、APIサーバーはSSLなしで動作します。

  • PATRONI/_RESTAPI/_KEYFILE PEM形式の秘密キーを含むファイルを指定します。

  • PATRONI/_RESTAPI/_KEYFILE/_PASSWORD キーファイルを復号するためのパスワードを指定します。

  • PATRONI/_RESTAPI/_CAFILE クライアント証明書の検証中に使用する、信頼できるCAの証明書を含むCA_BUNDLEを含むファイルを指定します。

  • PATRONI/_RESTAPI/_CIPHERS オプショナル 許可される暗号スイートを指定します 例 /"ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES128- GCM-SHA256:!SSLv1:!SSLv2:!SSLv3:!TLSv1:!TLSv1.1/")

  • PATRONI/_RESTAPI/_VERIFY/_CLIENT none デフォルト、 optional または required none REST APIがクライアント証明書をチェックしない場合。すべてのREST API呼び出しに required クライアント証明書が必要な場合。すべての安全でないREST APIエンドポイントに optional クライアント証明書が必要な場合。 required を使用する場合、証明書の署名検証が成功した場合、クライアント認証は成功します。 optional の場合、クライアント証明書は PUT 、 POST 、 PATCH 、および DELETE 要求についてのみチェックされます。

  • PATRONI/_RESTAPI/_ALLOWLIST オプショナル 安全でないREST APIエンドポイントを呼び出すことができるホストのセットを指定します。単一の要素は、 CIDR表記を使用したホスト名、IPアドレス、またはネットワークアドレスです。デフォルトでは allow all が使用されます。 allowlist または allowlist_include_members が設定されている場合、含まれないものは拒否されます。

  • PATRONI/_RESTAPI/_ALLOWLIST/_INCLUDE/_MEMBERS オプショナル true に設定すると、DCSに登録されている他のクラスターメンバーから安全でないREST APIエンドポイントにアクセスできますIPアドレスまたはホスト名はメンバー api_url から取得されます。 OSが発信接続に別のIPを使用する場合があることに注意してください。

  • PATRONI/_RESTAPI/_HTTP/_EXTRA/_HEADERS オプショナルのHTTPヘッダーにより、REST APIサーバーはHTTP応答で追加情報を渡します。

  • PATRONI/_RESTAPI/_HTTPS/_EXTRA/_HEADERS オプショナルのHTTPSヘッダーにより、TLSが有効になっているときにREST APIサーバーはHTTP応答で追加情報を渡します。これは、 http_extra_headers で設定された追加情報も渡します。

  • PATRONI/_RESTAPI/_REQUEST/_QUEUE/_SIZE :(オプショナル) Patroni REST APIが使用するTCPソケットの要求キューサイズを設定します。 キューがいっぱいになると、それ以降の要求は/"Connection denied/"エラーを取得します。デフォルト値は5です。

  • PATRONI/_RESTAPI/_SERVER/_TOKENS オプショナル Server HTTPヘッダーの値を構成します。 Original デフォルトは、元の動作を公開し、BaseHTTPおよびPythonバージョンを表示します。 BaseHTTP/0.6 Python/3.12.3 。 Minimal ヘッダーにはPatroniバージョンのみが含まれます。例 Patroni/4.0.0 。 ProductOnly ヘッダーには製品名のみが含まれます。例 Patroni 。

警告

  • PATRONI_RESTAPI_CONNECT_ADDRESS は、特定のPatroniクラスターのすべてのノードからアクセスできる必要があります。内部的にPatroniは、リーダーレース中にそれを使用して、レプリケーションラグを最小限に抑えたノードを見つけます。

  • クライアント証明書の検証を有効にしている場合 PATRONI_RESTAPI_VERIFY_CLIENT が required に設定されている場合、 PATRONI_RESTAPI_VERIFY_CLIENT は PATRONI_CTL_CERTFILE 、 PATRONI_CTL_KEYFILE 、 PATRONI_CTL_KEYFILE_PASSWORD に PATRONI_RESTAPI_VERIFY_CLIENT を提供します。提供されない場合、Patroniは正しく動作しません。

CTL

  • PATRONICTL/_CONFIG/_FILE オプションの構成ファイルの場所。

  • PATRONI/_CTL/_USERNAME オプショナル 保護されたREST APIエンドポイントにアクセスするための基本認証ユーザー名。提供されない場合、 PATRONI/_CTL/_USERNAME はREST APIの/"username/"パラメーターで提供された値を使用します。

  • PATRONI/_CTL/_PASSWORD オプショナル 保護されたREST APIエンドポイントにアクセスするための基本認証パスワード。提供されない場合、 PATRONI/_CTL/_PASSWORD はREST APIの/"password/"パラメーターで指定された値を使用します。

  • PATRONI/_CTL/_INSECURE オプショナル SSL証明書を検証せずにREST APIへの接続を許可します。

  • PATRONI/_CTL/_CACERT オプショナル REST API SSL証明書の検証中に使用する信頼できるCAの証明書が含まれるCA_BUNDLEファイルまたはディレクトリを指定します。提供されない場合、 PATRONI/_CTL/_CACERT はREST APIの/"cafile/"パラメーターで指定された値を使用します。

  • PATRONI/_CTL/_CERTFILE :(オプショナル)PEM形式のクライアント証明書を含むファイルを指定します。

  • PATRONI/_CTL/_KEYFILE :(オプショナル)PEM形式のクライアント秘密キーを含むファイルを指定します。

  • PATRONI/_CTL/_KEYFILE/_PASSWORD オプショナル クライアントキーファイルを復号するためのパスワードを指定します。