---
title: "Database migration operations"
version: 1.10
locale: el
source: https://docs.djangoproject.com/el/1.10/ref/contrib/postgres/operations/
canonical: https://djangodocs.dev/el/1.10/ref/contrib/postgres/operations/
---
# Database migration operations

All of these [operations](/el/1.10/ref/migration-operations/) are available from
the `django.contrib.postgres.operations` module.

## Creating extension using migrations

You can create a PostgreSQL extension in your database using a migration file.
This example creates an hstore extension, but the same principles apply for
other extensions.

Set up the hstore extension in PostgreSQL before the first `CreateModel`
or `AddField` operation that involves
[`HStoreField`](/el/1.10/ref/contrib/postgres/fields/#django.contrib.postgres.fields.HStoreField) by adding a migration with
the [`HStoreExtension`](#django.contrib.postgres.operations.HStoreExtension) operation.
For example:

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

class Migration(migrations.Migration):
    ...

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

Creating the extension requires a database user with superuser privileges.
If the Django database user doesn’t have superuser privileges, you’ll have
to create the extension outside of Django migrations with a user that has
the appropriate privileges. In that case, connect to your Django database and
run the query `CREATE EXTENSION IF NOT EXISTS hstore;`.

## `CreateExtension`

#### `class CreateExtension(name)`

An `Operation` subclass which installs PostgreSQL extensions.

#### `name`

This is a required argument. The name of the extension to be installed.

## `HStoreExtension`

#### `class HStoreExtension`

Installs the `hstore` extension and also sets up the connection to
interpret hstore data for possible use in subsequent migrations.

## `TrigramExtension`

#### `class TrigramExtension`

> **New in Django 1.10**

Installs the `pg_trgm` extension.

## `UnaccentExtension`

#### `class UnaccentExtension`

Installs the `unaccent` extension.
