PostgreSQL固有のモデルインデックス—Djangoドキュメント
PostgreSQL固有のモデルインデックス
以下は、django.contrib.postgres.indexes
モジュールから入手できるPostgreSQL固有のインデックスです。
BloomIndex
- class BloomIndex(*expressions, length=None, columns=(), **options)
バージョン3.1の新機能。
ブルームインデックスを作成します。
このインデックスアクセスを使用するには、PostgreSQLで Bloom 拡張機能をアクティブ化する必要があります。 BloomExtension 移行操作を使用してインストールできます。
length
パラメータに1〜4096の整数ビットを指定して、各インデックスエントリの長さを指定します。 PostgreSQLのデフォルトは80です。columns
引数は、1から4095までの整数ビットである最大32個の値のタプルまたはリストを取ります。バージョン3.2で変更:機能インデックスをサポートするために、位置引数
*expressions
が追加されました。
BrinIndex
- class BrinIndex(*expressions, autosummarize=None, pages_per_range=None, **options)
BRINインデックスを作成します。
autosummarize
パラメータをTrue
に設定して、自動要約を自動真空で実行できるようにします。pages_per_range
引数は正の整数を取ります。バージョン3.2で変更:機能インデックスをサポートするために、位置引数
*expressions
が追加されました。
BTreeIndex
- class BTreeIndex(*expressions, fillfactor=None, **options)
Bツリーインデックスを作成します。
fillfactor パラメーターに10から100までの整数値を指定して、インデックスページがどの程度パックされるかを調整します。 PostgreSQLのデフォルトは90です。
バージョン3.2で変更:機能インデックスをサポートするために、位置引数
*expressions
が追加されました。
GinIndex
- class GinIndex(*expressions, fastupdate=None, gin_pending_list_limit=None, **options)
ジンインデックスを作成します。
組み込み演算子クラスにないデータ型でこのインデックスを使用するには、PostgreSQLで btree_gin拡張機能をアクティブ化する必要があります。 BtreeGinExtension 移行操作を使用してインストールできます。
fastupdate
パラメーターをFalse
に設定して、PostgreSQLでデフォルトで有効になっている GIN Fast Update Technique を無効にします。gin_pending_list_limit パラメーターに整数のバイト数を指定して、
fastupdate
が有効になっているときに使用されるGIN保留リストの最大サイズを調整します。バージョン3.2で変更:機能インデックスをサポートするために、位置引数
*expressions
が追加されました。
GistIndex
- class GistIndex(*expressions, buffering=None, fillfactor=None, **options)
GiSTインデックスを作成します。 これらのインデックスは、 Spatial_index = True の空間フィールドに自動的に作成されます。 HStoreField や範囲フィールドなどの他のタイプでも役立ちます。
組み込みの gist演算子クラスにないデータ型でこのインデックスを使用するには、PostgreSQLで btree_gist拡張機能をアクティブ化する必要があります。 BtreeGistExtension 移行操作を使用してインストールできます。
buffering
パラメーターをTrue
またはFalse
に設定して、インデックスのバッファリングビルドを手動で有効または無効にします。fillfactor パラメーターに10から100までの整数値を指定して、インデックスページがどの程度パックされるかを調整します。 PostgreSQLのデフォルトは90です。
バージョン3.2で変更:機能インデックスをサポートするために、位置引数
*expressions
が追加されました。
HashIndex
- class HashIndex(*expressions, fillfactor=None, **options)
ハッシュインデックスを作成します。
fillfactor パラメーターに10から100までの整数値を指定して、インデックスページがどの程度パックされるかを調整します。 PostgreSQLのデフォルトは90です。
このインデックスはPostgreSQL10以降でのみ使用してください
ハッシュインデックスはPostgreSQLで長い間利用可能でしたが、古いバージョンでは多くのデータ整合性の問題があります。
バージョン3.2で変更:機能インデックスをサポートするために、位置引数
*expressions
が追加されました。
SpGistIndex
- class SpGistIndex(*expressions, fillfactor=None, **options)
SP-GiSTインデックスを作成します。
fillfactor パラメーターに10から100までの整数値を指定して、インデックスページがどの程度パックされるかを調整します。 PostgreSQLのデフォルトは90です。
バージョン3.2で変更:機能インデックスをサポートするために、位置引数
*expressions
が追加されました。
OpClass()式
バージョン3.2の新機能。
- class OpClass(expression, name)
OpClass()
式は、expression
を、機能インデックスの定義に使用できるカスタム演算子クラスで表します。 これを使用するには、:setting: `INSTALLED_APPS` に'django.contrib.postgres'
を追加する必要があります。name
パラメーターを演算子クラスの名前に設定します。例えば:
Index( OpClass(Lower('username'), name='varchar_pattern_ops'), name='lower_username_idx', )
varchar_pattern_ops
を使用して、Lower('username')
にインデックスを作成します。