---
title: "Oibríochtaí imirce bunachar"
version: 6.0
locale: ga
source: https://docs.djangoproject.com/ga/6.0/ref/contrib/postgres/operations/
canonical: https://djangodocs.dev/ga/6.0/ref/contrib/postgres/operations/
---
# Oibríochtaí imirce bunachar

Tá gach ceann díobh seo: doc: operations ar fáil ón modúl `django.contrib.postgres.operations`. \</ref/migration-operations\>

## Síneadh a chruthú ag úsáid imirceanna

Is féidir leat síneadh PostgreSQL a chruthú i do bhunachar sonraí ag baint úsáide as comhad imirce. Cruthaíonn an sampla seo síneadh hstore, ach tá na prionsabail chéanna i bhfeidhm maidir le síntí eile.

Socraigh an síneadh hstore i PostgreSQL roimh an gcéad oibríocht `CreateModel` nó AddField\` a bhaineann lena mbain:class: ~django.contrib.postgres.fields.hStorefield trí imirce a chur leis an oibríocht: :class: ~django.contrib.postgres.operations.hStoreExtension. Mar shampla:

```
from django.contrib.postgres.operations import HStoreExtension

class Migration(migrations.Migration):
    ...

    operations = [HStoreExtension(), ...]
```

Sceapann an oibríocht an síneadh a chur leis má tá sé ann cheana féin.

Maidir le formhór na síntí, éilíonn sé seo úsáideoir bunachar sonraí le pribhléidí superuser Mura bhfuil na pribhléidí cuí ag úsáideoir bunachar sonraí Django, beidh ort an síneadh a chruthú lasmuigh d'imirce Django le húsáideoir a bhfuil siad aige. Sa chás sin, ceangail le do bhunachar sonraí Django agus reáchtáil an cheist CREATE EXTENSION IF NOT EXISTS hstore; .

## `CreateExtension`

#### `class CreateExtension(name, hints=None)`

Fo-aicme Oibríocht' a shuiteálann síneadh PostgreSQL. Maidir le síntí coitianta, bain úsáid as ceann de na fo-aicmí níos sainiúla thíos.

#### `name`

Is argóint riachtanach é seo. Ainm an síneadh atá le suiteáil.

#### `hints`

> **New in Django 6.0**

The optional `hints` argument will be passed as `**hints` to the
[`allow_migrate()`](/ga/6.0/topics/db/multi-db/#allow_migrate) method of database routers to assist them in
[making routing decisions](/ga/6.0/topics/db/multi-db/#topics-db-multi-db-hints).

## `BloomExtension`

#### `class BloomExtension(hints=None)`

Suiteálann sé an síneadh `bloom`.

#### `hints`

> **New in Django 6.0**

The optional `hints` argument will be passed as `**hints` to the
[`allow_migrate()`](/ga/6.0/topics/db/multi-db/#allow_migrate) method of database routers to assist them in
[making routing decisions](/ga/6.0/topics/db/multi-db/#topics-db-multi-db-hints).

## `BTreeginExtension`

#### `class BtreeGinExtension(hints=None)`

Suiteálann sé an síneadh btree\_gin .

#### `hints`

> **New in Django 6.0**

The optional `hints` argument will be passed as `**hints` to the
[`allow_migrate()`](/ga/6.0/topics/db/multi-db/#allow_migrate) method of database routers to assist them in
[making routing decisions](/ga/6.0/topics/db/multi-db/#topics-db-multi-db-hints).

## `BTreegistExtension`

#### `class BtreeGistExtension(hints=None)`

Suiteálann sé an síneadh `btree_gist`.

#### `hints`

> **New in Django 6.0**

The optional `hints` argument will be passed as `**hints` to the
[`allow_migrate()`](/ga/6.0/topics/db/multi-db/#allow_migrate) method of database routers to assist them in
[making routing decisions](/ga/6.0/topics/db/multi-db/#topics-db-multi-db-hints).

## `CiteExtension`

#### `class CITextExtension(hints=None)`

Suiteálann sé an síneadh `citext`.

#### `hints`

> **New in Django 6.0**

The optional `hints` argument will be passed as `**hints` to the
[`allow_migrate()`](/ga/6.0/topics/db/multi-db/#allow_migrate) method of database routers to assist them in
[making routing decisions](/ga/6.0/topics/db/multi-db/#topics-db-multi-db-hints).

## `CryptoExtension`

#### `class CryptoExtension(hints=None)`

Suiteálann sé an síneadh pgcrypto\`.

#### `hints`

> **New in Django 6.0**

The optional `hints` argument will be passed as `**hints` to the
[`allow_migrate()`](/ga/6.0/topics/db/multi-db/#allow_migrate) method of database routers to assist them in
[making routing decisions](/ga/6.0/topics/db/multi-db/#topics-db-multi-db-hints).

## `HStoreExtension`

#### `class HStoreExtension(hints=None)`

Suiteálann sé an síneadh `hstore` agus bunaíonn sé an nasc freisin chun sonraí hstore a léirmhíniú le húsáid féideartha in imirce ina dhiaidh sin.

#### `hints`

> **New in Django 6.0**

The optional `hints` argument will be passed as `**hints` to the
[`allow_migrate()`](/ga/6.0/topics/db/multi-db/#allow_migrate) method of database routers to assist them in
[making routing decisions](/ga/6.0/topics/db/multi-db/#topics-db-multi-db-hints).

## `Síneadh Trigrama`

#### `class TrigramExtension(hints=None)`

Suiteálann sé an síneadh pg\_trgm\`.

#### `hints`

> **New in Django 6.0**

The optional `hints` argument will be passed as `**hints` to the
[`allow_migrate()`](/ga/6.0/topics/db/multi-db/#allow_migrate) method of database routers to assist them in
[making routing decisions](/ga/6.0/topics/db/multi-db/#topics-db-multi-db-hints).

## `UnaccentExtension`

#### `class UnaccentExtension(hints=None)`

Suiteálann sé an síneadh `unaccent`.

#### `hints`

> **New in Django 6.0**

The optional `hints` argument will be passed as `**hints` to the
[`allow_migrate()`](/ga/6.0/topics/db/multi-db/#allow_migrate) method of database routers to assist them in
[making routing decisions](/ga/6.0/topics/db/multi-db/#topics-db-multi-db-hints).

## Coláidí a bhainistiú ag úsáid imirce

Más gá duit colún a scagadh nó a ordú ag baint úsáide as comhlánú áirithe a sholáthraíonn do chóras oibriúcháin ach nach ndéanann PostgreSQL, is féidir leat coláidí i do bhunachar sonraí a bhainistiú ag baint úsáide as comhad imirce. Is féidir na comparáidí seo a úsáid ansin leis an bparaiméadar `db_collation` ar:class: ~django.db.models.charfield, :class: ~django.db.models.textfield, agus a bhfo-aicmí.

Mar shampla, chun comhdhlúthú a chruthú le haghaidh ordú leabhar teileafóin na Gearmáine:

```
from django.contrib.postgres.operations import CreateCollation

class Migration(migrations.Migration):
    ...

    operations = [
        CreateCollation(
            "case_insensitive",
            provider="icu",
            locale="und-u-ks-level2",
            deterministic=False,
        ),
        ...,
    ]
```

#### `class CreateCollation(name, locale, * (Keyword-only parameters separator (PEP 3102)), provider='libc', deterministic=True)`

Cruthaíonn sé comhdhlúthú leis an ```ainm ``, `locale``` agus soláthróir\` a thugtar.

Socraigh an paraiméadar `deirmitheach` go False\` chun comparáid neamh-chinntitheach a chruthú, mar shampla le haghaidh scagadh cás-neamh-íogair.

#### `class RemoveCollation(name, locale, * (Keyword-only parameters separator (PEP 3102)), provider='libc', deterministic=True)`

Baineann sé na coláidí darb ainm ainm .

Nuair a aisiomptear é seo tá comhlánú á chruthú leis na hargóintí `locale`, soláthróir, agus `deirmitheach` a chuirtear ar fáil. Dá bhrí sin, tá gá le áitiúil chun an oibríocht seo a dhéanamh inchúlghabháilte.

## Oibríochtaí innéacs comhthéanta

Tacaíonn PostgreSQL leis an rogha `CONCURRENTLY` chun ráitis CREATE INDEX\` agus DROP INDEX chun innéacsanna a chur leis agus a bhaint gan scríobhanna a ghlasáil amach. Tá an rogha seo úsáideach chun innéacs a chur leis nó a bhaint i mbunachar sonraí táirgeachta beo.

#### `class AddIndexConcurrently(model_name, index)`

Cos:class: ~django.db.migrations.operations.addIndex, ach cruthaíonn sé innéacs leis an rogha `CONCURRENTLY`. \< <https://www.postgresql.org/docs/current/> sql-createindex.html #SQL -CREATEINDEX-CONCURRENTLY\>Tá cúpla rabhadh air seo le bheith ar an eolas fúthu agus an rogha seo á úsáid agat, féach doiciméadú PostgreSQL ar innéacsanna tógála ag comhaontúnaí' \_.

#### `class RemoveIndexConcurrently(model_name, name)`

Cos:class: ~django.db.migrations.operations.removeIndex, ach baineann sé an t-innéacs leis an rogha `CONCURRENTLY`. \< <https://www.postgresql.org/docs/current/sql-dropindex.html>\>Tá cúpla rabhadh le bheith ar an eolas faoi seo agus an rogha seo á úsáid agat, féach an doiciméadú PostgreSQL \_.

> **Note**
>
> \<non-atomic-migrations\>Ní thacaítear leis an rogha CONCURRENTLY\` taobh istigh d'idirbheart (féach:ref: imirce neamh-adamh).

## Srianta a chur leis gan bailíochtú a fheidhmiú

Tacaíonn PostgreSQL leis an rogha `NOT VALID` leis an ráiteas ADD CONSTRAINT chun srianta seiceála a chur leis gan bailíochtú a fhorfheidhmiú ar shraitheanna atá ann cheana. Tá an rogha seo úsáideach más mian leat scanadh fada an tábla a d'fhéadfadh a bheith fada a scipeáil chun a fhíorú go sásaíonn gach sraitheanna atá ann cheana an srian.

Chun srianta seiceála a cruthaíodh leis an rogha `NOT VALID` a bhailíochtú ag pointe ama níos déanaí, bain úsáid as an oibríocht:class: ~django.contrib.postgres.operations.validateConstraint.

\< <https://www.postgresql.org/docs/current/> sql-altertable.html #SQL -ALTERTABLE-NOTES\>Féach an doiciméadú PostgreSQL \_\_ le haghaidh tuilleadh sonraí.

#### `class AddConstraintNotValid(model_name, constraint)`

Cos:class: ~django.db.migrations.operations.addConstraint, ach seachnaíonn sé an srian ar na sraitheanna atá ann cheana a bhailíochtú.

#### `class ValidateConstraint(model_name, name)`

Déanann sé scanadh tríd an tábla agus bailíochtú an srian seiceála a thugtar ar shraitheanna atá ann cheana

> **Note**
>
> Ba chóir oibríochtaí AddConstraintNotValid\` agus `ValidateConstraint` a dhéanamh i dhá imirce ar leithligh. Tá an éifeacht chéanna ag déanamh an dá oibríocht san imirce adamhach céanna as:class: ~django.db.migrations.operations.addConstraint, cé go ndéanann siad iad in imirce neamh-adamhach amháin, féadfaidh sé do bhunachar sonraí a fhágáil i stát neamhchomhsheasmhach má theipeann ar an oibríocht ValidateConstraint\`.
