From 8403da3696730f8b9e7d2ad20c920fcd7c52b62c Mon Sep 17 00:00:00 2001 From: Rust Saiargaliev Date: Wed, 10 Aug 2022 14:42:53 +0300 Subject: [PATCH] Fixed #28975 -- Made PostGIS backend skip extension creation if installed. --- django/contrib/gis/db/backends/postgis/base.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/django/contrib/gis/db/backends/postgis/base.py b/django/contrib/gis/db/backends/postgis/base.py index 87a30004a1..98c2813aa2 100644 --- a/django/contrib/gis/db/backends/postgis/base.py +++ b/django/contrib/gis/db/backends/postgis/base.py @@ -23,4 +23,7 @@ class DatabaseWrapper(Psycopg2DatabaseWrapper): super().prepare_database() # Check that postgis extension is installed. with self.cursor() as cursor: + cursor.execute("SELECT 1 FROM pg_extension WHERE extname = %s", ["postgis"]) + if bool(cursor.fetchone()): + return cursor.execute("CREATE EXTENSION IF NOT EXISTS postgis")