diff options
author | Hannes Ljungberg <hannes@5monkeys.se> | 2019-10-31 13:33:53 +0100 |
---|---|---|
committer | Mariusz Felisiak <felisiak.mariusz@gmail.com> | 2020-06-04 12:26:22 +0200 |
commit | 8c7992f658e1125f8dc20b19206e8bbbe4187372 (patch) | |
tree | ba09524a9a3d27bb33f22dc92dec4b60a80f37e1 /django/db/backends/postgresql/schema.py | |
parent | f997b5e6ae85e2df2342b1a7812fe8130206c957 (diff) | |
download | django-8c7992f658e1125f8dc20b19206e8bbbe4187372.tar.gz |
Fixed #30913 -- Added support for covering indexes on PostgreSQL 11+.
Diffstat (limited to 'django/db/backends/postgresql/schema.py')
-rw-r--r-- | django/db/backends/postgresql/schema.py | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/django/db/backends/postgresql/schema.py b/django/db/backends/postgresql/schema.py index e5a0008025..fbc4a59dc4 100644 --- a/django/db/backends/postgresql/schema.py +++ b/django/db/backends/postgresql/schema.py @@ -12,9 +12,13 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): sql_set_sequence_max = "SELECT setval('%(sequence)s', MAX(%(column)s)) FROM %(table)s" sql_set_sequence_owner = 'ALTER SEQUENCE %(sequence)s OWNED BY %(table)s.%(column)s' - sql_create_index = "CREATE INDEX %(name)s ON %(table)s%(using)s (%(columns)s)%(extra)s%(condition)s" + sql_create_index = ( + 'CREATE INDEX %(name)s ON %(table)s%(using)s ' + '(%(columns)s)%(include)s%(extra)s%(condition)s' + ) sql_create_index_concurrently = ( - "CREATE INDEX CONCURRENTLY %(name)s ON %(table)s%(using)s (%(columns)s)%(extra)s%(condition)s" + 'CREATE INDEX CONCURRENTLY %(name)s ON %(table)s%(using)s ' + '(%(columns)s)%(include)s%(extra)s%(condition)s' ) sql_delete_index = "DROP INDEX IF EXISTS %(name)s" sql_delete_index_concurrently = "DROP INDEX CONCURRENTLY IF EXISTS %(name)s" @@ -197,10 +201,11 @@ class DatabaseSchemaEditor(BaseDatabaseSchemaEditor): def _create_index_sql( self, model, fields, *, name=None, suffix='', using='', db_tablespace=None, col_suffixes=(), sql=None, opclasses=(), - condition=None, concurrently=False, + condition=None, concurrently=False, include=None, ): sql = self.sql_create_index if not concurrently else self.sql_create_index_concurrently return super()._create_index_sql( model, fields, name=name, suffix=suffix, using=using, db_tablespace=db_tablespace, col_suffixes=col_suffixes, sql=sql, opclasses=opclasses, condition=condition, + include=include, ) |