この機能は追加モジュール(手続き言語など)によって追加されるPostgreSQLが識別できないパラメータを使えるように設計されたものです。 これにより拡張モジュールは標準の方法で構成されます。
カスタムオプションには2つに分かれた名称があります。拡張名につづいてドット、そして特定のパラメータ名です。SQLの修飾名に良く似ています。
例としてplpgsql.variable_conflict
が挙げられます。
カスタムオプションは読み込まれていない関連性のある拡張モジュールのプロセスに設定される必要がある場合があるので、PostgreSQLはどんな2つの部分のパラメータ名による設定を受け付けます。これらの変数は代替物として取り扱われ、それらを定義したモジュールが読み込まれるまで機能しません。 拡張モジュールが読み込まれた時、その変数定義が追加され、それら定義に基づいた代替値が変換され、そしてその拡張名の確認されない代替物に対して警告が発せられます。