以下はPostgreSQL固有の django.contrib.postgres.indexes
モジュールから利用可能な インデックス です。
BloomIndex
¶BloomIndex
(*expressions, length=None, columns=(), **options)¶bloom インデックスを作成します。
このインデックスアクセスを使用するには、PostgreSQLで bloom 拡張機能を有効にする必要があります。これは、 BloomExtension
マイグレーションオペレーションを使用してインストールできます。
length
パラメータには、1 から 4096 の整数のビット数を指定して、各インデックスエントリの長さを指定してください。PostgreSQL のデフォルト値は 80 です。
columns
引数は、1から4095までの整数ビットで、最大32個の値を持つタプルまたはリストを取ります。
BrinIndex
¶BrinIndex
(*expressions, autosummarize=None, pages_per_range=None, **options)¶BRIN インデックス を作成します。
autosummarize
パラメータを True
に設定すると、autovacuum による automatic summarization を有効にできます。
pages_per_range
引数は正の整数を取ります。
BTreeIndex
¶BTreeIndex
(*expressions, fillfactor=None, **options)¶B-Tree インデックスを作成します。
fillfactor パラメータには、インデックスページがどれだけ詰め込まれるかを調整するために、10 から 100 の整数値を指定してください。PostgreSQL のデフォルト値は 90 です。
GinIndex
¶GinIndex
(*expressions, fastupdate=None, gin_pending_list_limit=None, **options)¶gin インデックス を作成します。
組み込みの演算子クラス 以外のデータ型でこのインデックスを使用するには、 PostgreSQL で btree_gin 拡張 を有効にする必要があります。これをインストールするには BtreeGinExtension
というマイグレーションオペレーションを使用します。
fastupdate
パラメータを False
に設定すると、PostgreSQL でデフォルトで有効になっている GIN Fast Update Technique を無効にできます。
fastupdate
が有効な場合に使用される GIN 保留リストの最大サイズを調整するには、 gin_pending_list_limit パラメータに整数キロバイト数を指定します。
GistIndex
¶GistIndex
(*expressions, buffering=None, fillfactor=None, **options)¶GiSTインデックス を作成します。これらのインデックスは、 spatial_index=True
で指定された空間フィールドに自動的に作成されます。これらは、 HStoreField
や 範囲フィールド など他のタイプでも有用です。
組み込みの gist 演算子クラス 以外のデータ型でこのインデックスを使用するには、 PostgreSQL で btree_gist 拡張 を有効にする必要があります。これをインストールするには BtreeGistExtension
というマイグレーションオペレーションを使用します。
インデックスの buffering build を手動で有効または無効にするには、 buffering
パラメータを True
または False
に設定してください。
fillfactor パラメータには、インデックスページがどれだけ詰め込まれるかを調整するために、10 から 100 の整数値を指定してください。PostgreSQL のデフォルト値は 90 です。
HashIndex
¶HashIndex
(*expressions, fillfactor=None, **options)¶ハッシュインデックスを作成します。
fillfactor パラメータには、インデックスページがどれだけ詰め込まれるかを調整するために、10 から 100 の整数値を指定してください。PostgreSQL のデフォルト値は 90 です。
SpGistIndex
¶SpGistIndex
(*expressions, fillfactor=None, **options)¶SP-GiST インデックス を作成します。
fillfactor パラメータには、インデックスページがどれだけ詰め込まれるかを調整するために、10 から 100 の整数値を指定してください。PostgreSQL のデフォルト値は 90 です。
OpClass()
式¶OpClass
(expression, name)¶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
上に排他制約を作成します。
8月 06, 2024