PostgreSQL固有のモデルインデックス—Djangoドキュメント

提供:Dev Guides
< DjangoDjango/docs/3.2.x/ref/contrib/postgres/indexes
移動先:案内検索

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')にインデックスを作成します。