From 9ef2615d4968ed52dbd88a19f03746a2f16c7511 Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Thu, 21 May 2015 14:19:38 -0400 Subject: [PATCH] Fixed #24811 -- Added details on installing PostgreSQL extensions. --- docs/ref/contrib/postgres/fields.txt | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/docs/ref/contrib/postgres/fields.txt b/docs/ref/contrib/postgres/fields.txt index e5b7a1148a0..235dbc90795 100644 --- a/docs/ref/contrib/postgres/fields.txt +++ b/docs/ref/contrib/postgres/fields.txt @@ -257,6 +257,24 @@ HStoreField 2. Setup the hstore extension in PostgreSQL before the first ``CreateModel`` or ``AddField`` operation by adding a migration with the :class:`~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';`` You'll see an error like ``can't adapt type 'dict'`` if you skip the first step, or ``type "hstore" does not exist`` if you skip the second.