This feature was designed to allow parameters not normally known to <productname>PostgreSQL</productname> to be added by add-on modules (such as procedural languages). This allows extension modules to be configured in the standard ways. この機能は追加モジュール(手続き言語など)によって追加されるPostgreSQLが識別できないパラメータを使えるように設計されたものです。 これにより拡張モジュールは標準の方法で構成されます。
Custom options have two-part names: an extension name, then a dot, then
the parameter name proper, much like qualified names in SQL. An example
is <literal>plpgsql.variable_conflict</literal>.
カスタムオプションには2つに分かれた名称があります。拡張名につづいてドット、そして特定のパラメータ名です。SQLの修飾名に良く似ています。
例としてplpgsql.variable_conflict
が挙げられます。
Because custom options may need to be set in processes that have not loaded the relevant extension module, <productname>PostgreSQL</productname> will accept a setting for any two-part parameter name. Such variables are treated as placeholders and have no function until the module that defines them is loaded. When an extension module is loaded, it will add its variable definitions and convert any placeholder values according to those definitions. If there are any unrecognized placeholders that begin with its extension name, warnings are issued and those placeholders are removed. カスタムオプションは読み込まれていない関連性のある拡張モジュールのプロセスに設定される必要がある場合があるので、PostgreSQLはどんな2つの部分のパラメータ名による設定を受け付けます。これらの変数は代替物として取り扱われ、それらを定義したモジュールが読み込まれるまで機能しません。 拡張モジュールが読み込まれた時、その変数定義が追加され、それら定義に基づいてプレースホルダー値が変換されます。 拡張名で始まる認識できないプレースホルダーに対しては警告が発せられ、そのプレースホルダーは削除されます。