各機能を設計する上での設計のポイントを説明します。
postgresql-cfg のフォーマット
postgresql-cfgは、PostgreSQLlパラメータを含むConfigMapを表します。このファイルには、インスタンスのpostgresql.confに反映する必要があるパラメータが含まれています。Patroniはpostgresql.confによって認識されていないすべてのパラメータを無視するため、FEPパラメータを特別な方法で処理するためのアプローチが定義されています。
ConfigMapの内容は、key=value形式で定義します。以下の表に詳細を示します。
仕様 | 例 | 補足 |
---|---|---|
コンテンツには複数のキーと値のペアが含まれる場合があります。 | foo=bar foo1=bar1 | - |
引用符がない限り、値にスペースを含めることはできません。 | foo=bar bar2 | 無効 |
引用符で囲まれた値の後に、別の値は指定できません。 | foo='bar bar2' something | 無効 |
キーと値のペアには「=」記号が必要です。 | - | - |
キーと値のペアの前/後/間に空白を使用できます。 | foo = bar | - |
'#'以降のコンテンツはすべて無視されます。 | # コメントと見なされますfoo=bar # コメントと見なされます | - |
値は一重引用符で囲むことができます。 | foo='bar bar2' | - |
一重引用符は、2つの一重引用符でエスケープできます。 | foo='It''s ok' | 注: 一重引用符は、Patroniedit-configコマンドではサポートされていません。 |
patronictl edit-configコマンドを呼び出すと、円記号「\」は「\\」に置き換えられます。 | - | コマンドラインのエスケープを回避できます。 |
キーと値のペアが無効な場合、それらは無視されます。 アップデートは次のペアの処理を続行します。 | foobar foo2=bar2 | “foobar”は無視されます。 |
コンテナスクリプトは、正しい形式である限り、キーと値を検証しません。 | - | - |
psqlのshowコマンドを使用して、パラメータが正しく設定されていることを確認することをお勧めします。