PostgreSQL 固有のモデルインデックスLink to this heading
以下はPostgreSQL固有の django.contrib.postgres.indexes モジュールから利用可能な インデックス です。
BloomIndexLink to this heading
- class BloomIndex(*expressions, length=None, columns=(), **options)Link to this definition
bloom インデックスを作成します。
このインデックスアクセスを使用するには、PostgreSQLで bloom 拡張機能を有効にする必要があります。これは、
BloomExtensionマイグレーションオペレーションを使用してインストールできます。lengthパラメータには、1 から 4096 の整数のビット数を指定して、各インデックスエントリの長さを指定してください。PostgreSQL のデフォルト値は 80 です。columns引数は、1から4095までの整数ビットで、最大32個の値を持つタプルまたはリストを取ります。
BrinIndexLink to this heading
- class BrinIndex(*expressions, autosummarize=None, pages_per_range=None, **options)Link to this definition
BRIN インデックス を作成します。
autosummarizeパラメータをTrueに設定すると、autovacuum による automatic summarization を有効にできます。pages_per_range引数は正の整数を取ります。
BTreeIndexLink to this heading
- class BTreeIndex(*expressions, fillfactor=None, **options)Link to this definition
B-Tree インデックスを作成します。
fillfactor パラメータには、インデックスページがどれだけ詰め込まれるかを調整するために、10 から 100 の整数値を指定してください。PostgreSQL のデフォルト値は 90 です。
GinIndexLink to this heading
- class GinIndex(*expressions, fastupdate=None, gin_pending_list_limit=None, **options)Link to this definition
gin インデックス を作成します。
組み込みの演算子クラス 以外のデータ型でこのインデックスを使用するには、 PostgreSQL で btree_gin 拡張 を有効にする必要があります。これをインストールするには
BtreeGinExtensionというマイグレーションオペレーションを使用します。fastupdateパラメータをFalseに設定すると、PostgreSQL でデフォルトで有効になっている GIN Fast Update Technique を無効にできます。fastupdateが有効な場合に使用される GIN 保留リストの最大サイズを調整するには、 gin_pending_list_limit パラメータに整数キロバイト数を指定します。
GistIndexLink to this heading
- class GistIndex(*expressions, buffering=None, fillfactor=None, **options)Link to this definition
GiSTインデックス を作成します。これらのインデックスは、
spatial_index=Trueで指定された空間フィールドに自動的に作成されます。これらは、HStoreFieldや 範囲フィールド など他のタイプでも有用です。組み込みの gist 演算子クラス 以外のデータ型でこのインデックスを使用するには、 PostgreSQL で btree_gist 拡張 を有効にする必要があります。これをインストールするには
BtreeGistExtensionというマイグレーションオペレーションを使用します。インデックスの buffering build を手動で有効または無効にするには、
bufferingパラメータをTrueまたはFalseに設定してください。fillfactor パラメータには、インデックスページがどれだけ詰め込まれるかを調整するために、10 から 100 の整数値を指定してください。PostgreSQL のデフォルト値は 90 です。
HashIndexLink to this heading
- class HashIndex(*expressions, fillfactor=None, **options)Link to this definition
ハッシュインデックスを作成します。
fillfactor パラメータには、インデックスページがどれだけ詰め込まれるかを調整するために、10 から 100 の整数値を指定してください。PostgreSQL のデフォルト値は 90 です。
SpGistIndexLink to this heading
- class SpGistIndex(*expressions, fillfactor=None, **options)Link to this definition
SP-GiST インデックス を作成します。
fillfactor パラメータには、インデックスページがどれだけ詰め込まれるかを調整するために、10 から 100 の整数値を指定してください。PostgreSQL のデフォルト値は 90 です。
OpClass() 式Link to this heading
- class OpClass(expression, name)Link to this definition
OpClass()式は、機能インデックス、機能ユニーク制約、または除外制約を定義するために使用できるカスタム operator class と一緒に表すexpressionを表します。これを使用するには、INSTALLED_APPSに'django.contrib.postgres'を追加する必要があります。nameパラメータを operator class の名前に設定します。例:
Index( OpClass(Lower("username"), name="varchar_pattern_ops"), name="lower_username_idx", )varchar_pattern_opsを使用してLower('username')にインデックスを作成します:UniqueConstraint( OpClass(Upper("description"), name="text_pattern_ops"), name="upper_description_unique", )Upper('description')を使ってtext_pattern_opsを使用してユニーク制約を作成します:ExclusionConstraint( name="exclude_overlapping_ops", expressions=[ (OpClass("circle", name="circle_ops"), RangeOperators.OVERLAPS), ], )これは
circle_opsを使用してcircle上に排他制約を作成します。