search_path
(string
)
この変数は、オブジェクト(テーブル、データ型、関数など)がスキーマを指定されていない単純な名前で参照されている場合に、スキーマを検索する順番を指定します。 異なるスキーマに同じ名前のオブジェクトがある場合、検索パスで最初に見つかったものが使用されます。 検索パス内のどのスキーマにも存在しないオブジェクトを参照するには、修飾名(ドット付き)でそのオブジェクトが含まれるスキーマを指定する必要があります。
search_path
の値は、スキーマの名前をカンマで区切った一覧でなければなりません。
存在していないスキーマ、またはユーザがUSAGE
権限を所有していないスキーマは警告なしに無視されます。
もしそのようなスキーマが存在し、ユーザがそれにたいしてUSAGE
権限を所有している場合、一覧内の項目の1つが特別な名前である$user
の場合、SESSION_USER
と同じ名前を持つスキーマがあれば、そのスキーマが置換されます。
(このような名前空間がない場合は$user
は無視されます。)
システムカタログのスキーマであるpg_catalog
は、パスでの指定の有無にかかわらず、常に検索されます。
パスで指定されている場合は、指定された順序で検索されます。
pg_catalog
がパスに含まれていない場合、パスに含まれる項目を検索する前に検索が行われます
同様に、現在のセッションの一時テーブルスキーマpg_temp_
も、存在すれば常に検索されます。
これはnnn
pg_temp
という別名を使用してパスに明示的に列挙させることができます。
パスに列挙されていない場合、最初に(pg_catalog
よりも前であっても)検索されます。
しかし、一時スキーマはリレーション(テーブル、ビュー、シーケンスなど)とデータ型名に対してのみ検索されます。
関数や演算子名に対してはまったく検索されません。
対象となる特定のスキーマを指定せずにオブジェクトが作成された場合、それらのオブジェクトはsearch_path
で名前を付けられた最初に有効となっているスキーマに配置されます。
検索パスが空の場合、エラーが報告されます。
このパラメータのデフォルト値は"$user", public
です。
この設定はデータベースの共有(どのユーザも非公開のスキーマを持たず、全員がpublic
を共有)、ユーザごとの非公開のスキーマ、およびこれらの組み合わせがサポートします。
デフォルトの検索パスの設定を全体的またはユーザごとに変更することで、その他の効果を得ることもできます。
SQL関数のcurrent_schemas
によって、検索パスの現在の有効な値を調べることができます(9.25. システム情報関数を参照してください)。
これは、search_path
の値を調べるのとは異なります。
current_schemas
は、search_path
に現れる項目がどのように解決されたかを表すからです。
スキーマ操作に付いてより多くの情報は、5.8. スキーマを参照してください。
row_security
(boolean
)
この設定値は、行セキュリティポリシーの適用によってエラーを生じさせるかどうかを制御します。
on
に設定すると、通常通りポリシーが適用されます。
off
にすると、少なくともひとつのポリシーが適用されたクエリは失敗します。
デフォルトはon
です。
行の可視性が制限されている場合、off
にすると不正な結果を招くことがあります。
たとえば、pg_dumpはデフォルトでoff
にしています。
この設定値は、行セキュリティポリシーを迂回するロールには効果がありません。
それはすなわち、BYPASSRLS
アトリビュートを持つスーパーユーザです。
行セキュリティポリシーについての更なる情報はCREATE POLICYをご覧ください。
default_tablespace
(string
)
この変数は、CREATE
コマンドで明示的にテーブル空間を指定していない場合にオブジェクトの作成先となるデフォルトのテーブル空間を指定します。
値はテーブル空間名、もしくは現在のデータベースのデフォルトのテーブル空間を使用することを意味する空文字列です。
この値が既存のテーブル空間名と一致しない場合、PostgreSQLは自動的に現在のデータベースのデフォルトのテーブル空間を使用します。
デフォルト以外のテーブル空間が指定された場合、ユーザはそのテーブル空間でCREATE
権限を持たなければなりません。
さもなくば作成に失敗します。
この変数は一時テーブル向けには使用されません。 一時テーブル向けには代わりにtemp_tablespacesが考慮されます。
同時に、この変数はデータベース作成時には使用されません。
テーブル空間に付いてより詳細な情報は22.6. テーブル空間を参照してください。
temp_tablespaces
(string
)
この変数は、CREATE
コマンドで明示的にテーブル空間が指定されない場合に、生成する一時オブジェクト(一時テーブルと一時テーブル上のインデックス)を格納するテーブル空間(複数可)を指定します。
大規模データ集合のソートなどを目的とした一時ファイルもまた、このテーブル空間(複数可)に作成されます。
この値はテーブル空間名のリストです。 リストに複数の名前が存在する場合、一時オブジェクトが作成される度にPostgreSQLは無作為にリストから要素を選択します。 トランザクションの内側は例外で、連続して作成される一時オブジェクトはそのリストで連続するテーブル空間に格納されます。 リスト内の選択された要素が空文字列だった場合、PostgreSQLは自動的に現在のデータベースのデフォルトのテーブル空間を代わりに使用します。
temp_tablespaces
を対話式に設定する場合、存在しないテーブル空間を指定するとエラーになります。
ユーザがCREATE
権限を持たないテーブル空間を指定した場合も同様です。
しかし事前に設定された値を使用する場合、存在しないテーブル空間は無視されます。
ユーザがCREATE
権限を持たないテーブル空間も同様です。
具体的には、この規則はpostgresql.conf
内で設定した値を使用する場合に適用されます。
デフォルト値は空文字列です。 この結果、すべての一時オブジェクトは現在のデータベースのデフォルトのテーブル空間内に作成されます。
default_tablespaceも参照してください
check_function_bodies
(boolean
)
このパラメータは通常オンです。off
に設定すると、CREATE FUNCTIONの間で関数本体文字列の妥当性検証を無効にします。
妥当性検証を無効にするとその妥当性検証処理の副作用を避け、前方参照による問題から起こる擬陽性(false positive)を避けることができます。
関数をロードする前にこのパラメータを他のユーザとしてoff
にします。
pg_dumpはこれを自動的に行います。
default_transaction_isolation
(enum
)
SQLトランザクションはそれぞれ、「read uncommitted」、「read committed」、「repeatable read」、または「serializable」のいずれかの隔離レベルを持ちます。 このパラメータは各新規トランザクションのデフォルトの隔離レベルを制御します。 デフォルトは「read committed」です。
より詳細は 13章同時実行制御 および SET TRANSACTION を調べてください。
default_transaction_read_only
(boolean
)
読み取り専用のSQLトランザクションでは、非一時的テーブルを変更することができません。
このパラメータは、各新規トランザクションのデフォルトの読み取りのみ状況を制御します。
デフォルトoff
(読み書き)です。
より詳細な情報はSET TRANSACTIONを調べてください。
default_transaction_deferrable
(boolean
)
シリアライザブル
隔離レベルで運用されている場合、繰り延べ読み取り専用SQLトランザクションは、その処理の許可の前に遅延されることがあります。
しかし、ひとたび処理が開始されるとシリアライザブル可能性を保障するために必要ないかなるオーバヘッドも発生させません。
従って、シリアル化(直列化)のコードは、このオプションを長期間にわたる読み取り専用トランザクションに対して適切な処置と位置づけ、同時実行の更新の観点から中断を強制する理由はありません。
このパラメータはそれぞれの新規トランザクションのデフォルトでの繰り延べ状態を制御します。
現時点では、読み取り専用トランザクション、またはシリアライザブル
より低位の隔離レベルの運用に対して効果はありません。
より詳細はSET TRANSACTIONを参照してください。
session_replication_role
(enum
)
現在のセッションでのレプリケーションに関連したトリガおよびルールの発行を制御します。
この変数を設定するにはスーパーユーザ権限が必要で、かつ、これまでにキャッシュされた問い合わせ計画が破棄されることになります。
取り得る値は、origin
(デフォルト)、replica
、local
です。
詳細についてはALTER TABLEを参照してください。
statement_timeout
(integer
)
コマンドがクライアントからサーバに届いた時から数えて、実行時間が指定されたミリ秒を越えた文を停止します。
log_min_error_statement
がERROR
もしくはそれ以下に設定されている場合は、タイムアウトした文はログに書き込まれます。
値がゼロ(デフォルト)の場合、これを無効にします。
すべてのセッションに影響することがあるので、postgresql.conf
内でstatement_timeout
を設定することは推奨されません。
lock_timeout
(integer
)
テーブル、インデックス、行、またはその他のデータベースオブジェクトに対してロック獲得を試みている最中、指定されたミリ秒数を超えて待機するいかなる命令も停止されます。
時間制限はそれぞれのロック取得の試みに対し個別に適応されます。
制限は明示的ロック要求(例えばLOCK TABLE
、またはSELECT FOR UPDATE
without NOWAIT
など)および暗黙的に取得されるロックに適用されます。
log_min_error_statement
がERROR
またはそれより低く設定されると、時間制限を超えた命令はログに記録されます。値ゼロ(デフォルト)はこの機能を無効にします。
statement_timeout
と異なり、このタイムアウトはロックを待機しているときのみ発生します。
命令によるタイムアウトは常に第一に起動されるため、もしstatement_timeout
が非ゼロであればlock_timeout
を同一、もしくはより大きい値に設定するのは的を得ていません。
lock_timeout
をpostgresql.conf
にて設定することは、すべてのセッションに影響を与える可能性があるため推奨されません。
idle_in_transaction_session_timeout
(integer
)
開いたトランザクションが、指定された時間(単位はミリ秒)を超えてアイドルだった場合に、セッションを終了します。 これにより、そのセッションが獲得したロックを解放し、コネクションスロットを再利用できるようになります。 また、このトランザクションからのみ見えるタプルがVACUUMできるようになります。 更なる詳細は24.1. 定常的なバキューム作業を見てください。
値がゼロ(デフォルト)の場合、この機能は無効になります。
vacuum_freeze_table_age
(integer
)
テーブルのpg_class
.relfrozenxid
フィールドがこの設定で指定した時期に達すると、VACUUM
は積極的なテーブル走査を行います。
デフォルトは1.5億トランザクションです。
ユーザはこの値をゼロから20億までの任意の値に設定することができますが、VACUUM
は警告することなく、周回問題対策のautovacuumがテーブルに対して起動する前に定期的な手動VACUUM
が実行する機会を持つように、autovacuum_freeze_max_ageの95%に実効値を制限します。
24.1.5. トランザクションIDの周回エラーの防止を参照してください。
vacuum_freeze_min_age
(integer
)
VACUUM
がテーブルスキャン時に行バージョンをフリーズするかどうかを決定する際に使用する、カットオフ(トランザクション)年代を指定します。
デフォルトは5千万トランザクションです。
ユーザはこの値を0から10億までの間で任意の値に設定することができますが、VACUUM
は警告なくautovacuum_freeze_max_ageの半分までの値に値を制限します。
このため、強制的なautovacuumの間隔が不合理に短くなることはありません。
詳細は24.1.5. トランザクションIDの周回エラーの防止を参照してください。
vacuum_multixact_freeze_table_age
(integer
)
pg_class
.relminmxid
フィールドがこの設定値で指定した年代に達するとVACUUM
はテーブルの積極的なスキャンを行います。
積極的なスキャンは、不要タプルを含む可能性のあるページだけではなく、凍結XIDあるいはMXIDを含むすべてのページを読む通常のVACUUM
とは異なります。
デフォルトは1億5千万トランザクションです。
ユーザは0から20億まで任意の値を設定できますが、テーブルに対してラップアラウンド防止処理が起動される前に定期的な手動VACUUM
が走ることができるように、VACUUM
はautovacuum_multixact_freeze_max_ageの95%に暗黙的に制限します。
詳細は24.1.5.1. マルチトランザクションと周回をご覧ください。
vacuum_multixact_freeze_min_age
(integer
)
VACUUM
がテーブルをスキャンする際に、マルチトランザクションIDをより新しいトランザクションIDまたはマルチトランザクションIDに置き換えるかどうかを決める下限値をマルチトランザクション単位で指定します。
ユーザは0から10億まで任意の値を設定できますが、強制的な自動バキュームの間隔が短くなり過ぎないように、VACUUM
はautovacuum_multixact_freeze_max_ageの半分に暗黙的に実効的な値を制限します。
詳細は24.1.5.1. マルチトランザクションと周回をご覧ください。
bytea_output
(enum
)
bytea
型の値の出力形式を設定します。
有効な値はhex
(デフォルト)、およびescape
(PostgreSQLの伝統的な書式)です。
より詳細は8.4. バイナリ列データ型を参照してください。
bytea
型は常にこの設定に係わらず、入力時に双方の書式を受け付けます。
xmlbinary
(enum
)
バイナリデータをXMLに符号化する方法を設定します。
例えばこれは、xmlelement
やxmlforest
関数でbytea
値をXMLに変換する際に適用されます。
取り得る値はbase64
とhex
です。
どちらもXMLスキーマ標準で定義されています。
デフォルトはbase64
です。
XMLに関連した関数については9.14. XML関数を参照してください。
実のところこの選択はほとんど趣味の問題で、クライアントアプリケーションで起こり得る制限のみに制約されます。 どちらの方法もすべての値をサポートしますが、hex符号化方式はbase64符号化方式より少し大きくなります。
xmloption
(enum
)
XMLと文字列値との変換時にDOCUMENT
とするかCONTENT
とするかを設定します。
この説明については8.13. XML型を参照してください。
有効な値はDOCUMENT
とCONTENT
です。
デフォルトはCONTENT
です。
標準SQLに従うと、このオプションを設定するコマンドは以下のようになります。
SET XML OPTION { DOCUMENT | CONTENT };
この構文はPostgreSQLでも使用可能です。
gin_pending_list_limit
(integer
)
fastupdate
が有効なときに使用されるGINペンディングリストの最大サイズを設定します。
リストがこの設定値よりも大きくなったら、エントリをGINの主データ構造に一括転送してリストはクリアされます。
デフォルトは4メガバイト(4MB
)です。
この設定は、個々のGINインデックスに対してインデックスストレージパラメータを変更することにより、上書きできます。
更なる情報については、63.4.1. GIN高速更新手法と63.5. GINの小技を参照してください。
DateStyle
(string
)
日付時刻値の表示書式を設定し、曖昧な日付入力の解釈規則を設定します。
歴史的な理由により、この変数には2つの独立した要素が含まれています。
出力書式指定(ISO
、Postgres
、SQL
、German
)と年/月/日の順序の入出力指定(DMY
、MDY
、YMD
)です。
これらは分けて設定することもまとめて設定することもできます。
Euro
およびEuropean
キーワードはDMY
の同義語であり、US
、NonEuro
、NonEuropean
はMDY
の同義語です。
詳細は8.5. 日付/時刻データ型を参照してください。
組み込みのデフォルトはISO, MDY
ですが、initdbにより、選択されたlc_time
ロケールの動作に対応した設定で設定ファイルが初期化されます。
IntervalStyle
(enum
)
間隔の値の表示形式を設定します。sql_standard
値は、SQL標準間隔リテラルに一致する出力を生成します。
(デフォルトの)値postgres
は、DateStyleパラメータがISO
に設定されている場合、リリース8.4以前のPostgreSQLに一致する出力を生成します。
値postgres_verbose
は、DateStyle
パラメータが非ISO
出力に設定されている場合、リリース8.4以前のPostgreSQLに一致する出力を生成します。
値iso_8601
は、ISO 8601の4.4.3.2節で定義されている時間間隔「format with designators」に一致する出力を生成します。
またIntervalStyle
パラメータはあいまいに入力された時間間隔の解釈に影響を与えます。
詳細については8.5.4. 時間間隔の入力を参照してください。
TimeZone
(string
)
表示用およびタイムスタンプ解釈用の時間帯を設定します。
組み込まれているデフォルトはGMT
ですが、通常はpostgresql.conf
により上書きされます。initdbによりこれらと関連した設定をシステム環境にインストールされます。
詳細は8.5.3. 時間帯を参照してください。
timezone_abbreviations
(string
)
サーバで日付時刻の入力として受付け可能となる時間帯省略形の集合を設定します。
デフォルトは'Default'
です。
これはほぼ全世界で通じる集合です。
また、Australia
、India
、その他特定のインストレーションで定義可能な集合が存在します。
詳細は付録B 日付/時刻のサポートを参照してください。
extra_float_digits
(integer
)
このパラメータは、float4
、float8
、幾何データ型などの浮動小数点値の表示桁数を調整します。
パラメータ値が標準的な桁数(FLT_DIG
もしくはDBL_DIG
どちらか適切な方)に追加されます。
この値は、部分有効数を含めるために3まで設定することができます。
これは基本的に、正確にリストアする必要がある浮動小数点データをダンプするために有用です。
もしくは、不要な桁を抑制するために負の値を設定することもできます。
8.1.3. 浮動小数点データ型も参照してください。
client_encoding
(string
)
クライアント側符号化方式(文字セット)を設定します。デフォルトはデータベース符号化方式を使用します。 PostgreSQLサーバでサポートされている文字セットは23.3.1. サポートされる文字セットに記載されています。
lc_messages
(string
)
メッセージが表示される言語を設定します。使用可能な値はシステムに依存します。詳細については23.1. ロケールのサポートを参照してください。 この変数が空に設定された場合(これがデフォルトです)、値はシステムに依存する方法でサーバの実行環境から継承されます。
システムによっては、このロケールのカテゴリが存在しません。この変数を設定することはできますが、実効性はありません。 また、指定の言語に翻訳されたメッセージが存在しないこともあります。 その場合は、引き続き英語のメッセージが表示されます。
サーバログやクライアントに送信されるメッセージに影響するため、および、全ての不適切な値がサーバログの信頼性を損ねる可能性があるため、スーパーユーザのみがこの設定を変更することができます。
lc_monetary
(string
)
通貨書式で使用するロケールを設定します。
例えば、to_char()
系の関数で使用します。
使用可能な値はシステムに依存します。
詳細については23.1. ロケールのサポートを参照してください。
この変数が空に設定された場合(これがデフォルトです)、値はシステムに依存する方法でサーバの実行環境から継承されます。
lc_numeric
(string
)
数字の書式で使用するロケールを設定します。
例えば、to_char
系の関数で使用します。
使用可能な値はシステムに依存します。
詳細については23.1. ロケールのサポートを参照してください。
この変数が空に設定された場合(これがデフォルトです)、値はシステムに依存する方法でサーバの実行環境から継承されます。
lc_time
(string
)
例えばto_char
系関数における、日付と時間の書式で使用するロケールを設定します。
使用可能な値はシステムに依存します。
詳細については23.1. ロケールのサポートを参照してください。
この変数が空に設定された場合(これがデフォルトです)、値はシステムに依存する方法でサーバの実行環境から継承されます。
default_text_search_config
(string
)
明示的な設定指定引数を持たないテキスト検索関数の亜種で使用される、テキスト検索設定を選択します。
詳細は12章全文検索を参照してください。
組み込みのデフォルトはpg_catalog.simple
ですが、initdbは、ロケールに合う設定を認識することができれば、選択されたlc_ctype
ロケールに対応した設定で設定ファイルを初期化します。
追加機能や性能改良の目的で共有ライブラリをプリロードするいくつかの設定があります。
たとえば'$libdir/mylib'
を設定するとmylib.so
(あるいは他のプラットフォームではmylib.sl
)を導入設定したの標準ディレクトリからプリロードします。
各設定の違いは、設定変更を行うためにいつ、どのような権限が必要かにあります。
典型的には'$libdir/plXXX'
のような構文を用いてPostgreSQL手続き言語ライブラリをこの方法でプリロードできます。
XXX
はpgsql
、perl
、tcl
、python
です。
それぞれのパラメータにおいて、2つ以上のライブラリをロードする必要がある場合は、それぞれのライブラリをカンマで区切ります。二重引用符で修飾しない限り、すべてのライブラリ名は小文字に変換されます。
PostgreSQLで使用することを意図したライブラリだけがこの方法でロードできます。
すべてのPostgreSQL用のライブラリは「magic block」を持ち、互換性を保証するためにチェックされます。
ですからPostgreSQL用ではないライブラリはこの方法ではロードできません。
LD_PRELOAD
のようなOSの機能を使えばあるいは使用できるかもしれません。
一般的に言ってモジュールのドキュメントを参照し、推奨される方法でロードしてください。
local_preload_libraries
(string
)
この変数は、接続時に事前読み込みされる、1つまたは複数の共有ライブラリを指定します。 このパラメータは、接続の開始時にのみ効果があります。 以降の変更は効果がありません。 もし指定したライブラリが見つからない場合は、接続は失敗します。
このオプションはすべてのユーザが設定できます。
この理由で、読み込み可能なライブラリはインストレーションの共有ライブラリディレクトリのサブディレクトリplugins
内にあるものに制限されています。
(確実に「安全」なライブラリのみをここにインストールすることはデータベース管理者の責任です。)
local_preload_libraries
内の項目で、たとえば$libdir/plugins/mylib
のようにこのディレクトリを明示的に指定することも、単にライブラリ名を指定することも可能です。
mylib
は$libdir/plugins/mylib
と同じ効果です。
この機能の意図するところは、明示的なLOAD
コマンドを使わずに、特定のセッションにおいて非特権ユーザがデバッグ用あるいは性能計測用のライブラリをロードできるようにすることにあります。
そのためにも、クライアント側でPGOPTIONS
環境変数を使う、あるいはALTER ROLE SET
を使うことが典型的になるでしょう。
しかし、モジュールが特にスーパーユーザ以外に使われることを意図しているのでない限り、通常この方法は正しい使い方ではありません。 代わりにsession_preload_librariesを見てください。
session_preload_libraries
(string
)
この変数は接続開始時にプリロードされる一つ以上の共有ライブラリを指定します。 スーパーユーザだけがこの設定を変更できます。 このパラメータは接続開始時にのみ有効です。 もし指定したライブラリが見つからない場合は、接続は失敗します。
この機能は、デバッグや性能測定の目的でLOAD
コマンドを使わずに特定のセッションでライブラリをロードする目的で使われます。
たとえばALTER ROLE SET
で設定することにより、特定のユーザが開始するすべてのセッションでauto_explainが有効になります。
また、このパラメータはサーバを再起動せずに変更できます(しかし変更は新しいセッションが開始するときにのみ有効となります)。すべてのセッションで有効にしたいのであれば、この方法で新しいモジュールを容易に追加できます。
shared_preload_librariesと違って、ライブラリがはじめて使われるときにロードする方法と比べてセッションが開始するときにライブラリをロードする方法には大きな性能的な優位性はありません。 しかし、コネクションプーリングを使うのであれば、いくらか優位性があります。
この変数はサーバ起動時にプリロードされる一つ以上の共有ライブラリを指定します。 スーパーユーザだけがこの設定を変更できます。 このパラメータはサーバ起動時にのみ有効です。 もし指定したライブラリが見つからない場合は、起動は失敗します。
ライブラリによってはpostmaster起動時にのみ可能な操作を実行する必要があるものがあります。 たとえば、共有メモリの獲得、軽量ロックの予約、バックグラウンドワーカの起動などです。 このようなライブラリはこのパラメータを使ってサーバ起動時にロードしなければなりません。 詳細は各ライブラリのドキュメントを見てください。
これ以外のライブラリもプリロードできます。 共有ライブラリをプリロードすることにより、最初にライブラリが使われる際にライブラリが起動する時間を避けることができます。 しかし、そのライブラリが使われないとしても、サーバプロセスが起動する時間がわずかに長くなる可能性があります。 したがって、この方法は、ほとんどのセッションで使われるライブラリにのみ使用することを推奨します。 また、パラメータの変更にはサーバの再起動が必要になります。 ですから、たとえば短期のデバッグ仕事にこの設定を使うのは適当とは言えません。 session_preload_librariesを代わりに使ってください。
Windowsのホストでは、ライブラリのプリロードは、新しいサーバプロセスの起動に要する時間を短縮しません。
個々のサーバプロセスは、すべてのプリロードライブラリを再読み込みします。
それでもpostmaster起動時に操作を実行しなければならないライブラリを使用するWindowsホストにとってはshared_preload_libraries
は有用です。
dynamic_library_path
(string
)
オープンする必要がある動的ロード可能なモジュールについて、そのCREATE FUNCTION
やLOAD
コマンドで指定されたファイル名にディレクトリ要素がなく(つまり、名前にスラッシュが含まれずに)指定された場合、システムは必要なファイルをこのパスから検索します。
dynamic_library_path
の値は、絶対パスのディレクトリ名をコロン(Windowsの場合はセミコロン)で区切った一覧です。
この一覧の要素が特別な$libdir
という値から始まる場合、コンパイルされたPostgreSQLパッケージのライブラリディレクトリで$libdir
は置換されます。
ここには、PostgreSQLの標準配布物により提供されるモジュールがインストールされます
(このディレクトリ名を表示するには、pg_config --pkglibdir
を使用してください)。
例を以下に示します。
dynamic_library_path = '/usr/local/lib/postgresql:/home/my_project/lib:$libdir'
Windows環境の場合は以下です。
dynamic_library_path = 'C:\tools\postgresql;H:\my_project\lib;$libdir'
このパラメータのデフォルト値は'$libdir'
です。
この値が空に設定された場合、自動的なパス検索は無効になります。
このパラメータはスーパーユーザによって実行時に変更することができますが、この方法での設定は、そのクライアント接続が終わるまでしか有効になりません。
ですので、この方法は開発目的でのみ使用すべきです。
推奨方法はこのパラメータをpostgresql.conf
設定ファイル内で設定することです。
gin_fuzzy_search_limit
(integer
)
GINインデックス走査により返されるセットのソフトな上限サイズです。 詳細は63.5. GINの小技を参照してください。