PostgreSQLのバージョン:

session_preload_libraries

この変数は接続開始時にプリロードされる一つ以上の共有ライブラリを指定します。ここにはカンマ区切りでライブラリ名のリストを格納し、各々の名前はsql-loadコマンドで解釈されます。名前の中に空白あるいはカンマを含める場合は、二重引用符で囲ってください。スーパーユーザだけがこの設定を変更できます。このパラメータは接続開始時にのみ有効です。以降の変更は効果がありません。もし指定したライブラリが見つからない場合は、接続は失敗します。スーパーユーザだけがこの設定を変えられます。

この機能は、デバッグや性能測定の目的でLOADコマンドを使わずに特定のセッションでライブラリをロードする目的で使われます。たとえばALTER ROLE SETで設定することにより、特定のユーザが開始するすべてのセッションでauto-explainが有効になります。また、このパラメータはサーバを再起動せずに変更できます(しかし変更は新しいセッションが開始するときにのみ有効となります)。すべてのセッションで有効にしたいのであれば、この方法で新しいモジュールを容易に追加できます。

shared_preload_librariesと違って、ライブラリがはじめて使われるときにロードする方法と比べてセッションが開始するときにライブラリをロードする方法には大きな性能的な優位性はありません。しかし、コネクションプーリングを使うのであれば、いくらか優位性があります。

推奨事項 [EN]

Special uses for debugging or for loading application-specific extensions.

件のコメント