From bc842786158bc974a7587002226feabaf5cd2f4a Mon Sep 17 00:00:00 2001 From: Tim Graham Date: Sat, 28 May 2016 20:11:42 -0400 Subject: [PATCH] Fixed #26675 -- Dropped support for PostgreSQL 9.2/PostGIS 2.0. --- django/contrib/gis/db/backends/postgis/operations.py | 2 +- docs/ref/contrib/gis/install/geolibs.txt | 3 +-- docs/ref/contrib/gis/install/index.txt | 2 +- docs/ref/databases.txt | 2 +- docs/releases/1.11.txt | 9 +++++++++ tests/gis_tests/geoapp/tests.py | 10 ---------- 6 files changed, 13 insertions(+), 15 deletions(-) diff --git a/django/contrib/gis/db/backends/postgis/operations.py b/django/contrib/gis/db/backends/postgis/operations.py index 8216668ca5..14ed2d98f3 100644 --- a/django/contrib/gis/db/backends/postgis/operations.py +++ b/django/contrib/gis/db/backends/postgis/operations.py @@ -220,7 +220,7 @@ class PostGISOperations(BaseSpatialOperations, DatabaseOperations): raise ImproperlyConfigured( 'Cannot determine PostGIS version for database "%s" ' 'using command "SELECT postgis_lib_version()". ' - 'GeoDjango requires at least PostGIS version 2.0. ' + 'GeoDjango requires at least PostGIS version 2.1. ' 'Was the database created from a spatial database ' 'template?' % self.connection.settings_dict['NAME'] ) diff --git a/docs/ref/contrib/gis/install/geolibs.txt b/docs/ref/contrib/gis/install/geolibs.txt index 59916f815f..d668b4cacf 100644 --- a/docs/ref/contrib/gis/install/geolibs.txt +++ b/docs/ref/contrib/gis/install/geolibs.txt @@ -12,7 +12,7 @@ Program Description Required `PROJ.4`_ Cartographic Projections library Yes (PostgreSQL and SQLite only) 4.9, 4.8, 4.7, 4.6, 4.5, 4.4 :doc:`GDAL <../gdal>` Geospatial Data Abstraction Library Yes (SQLite only) 2.1, 2.0, 1.11, 1.10, 1.9, 1.8, 1.7 :doc:`GeoIP <../geoip>` IP-based geolocation library No 1.4 -`PostGIS`__ Spatial extensions for PostgreSQL Yes (PostgreSQL only) 2.2, 2.1, 2.0 +`PostGIS`__ Spatial extensions for PostgreSQL Yes (PostgreSQL only) 2.2, 2.1 `SpatiaLite`__ Spatial extensions for SQLite Yes (SQLite only) 4.3, 4.2, 4.1, 4.0 ======================== ==================================== ================================ =================================== @@ -30,7 +30,6 @@ totally fine with GeoDjango. Your mileage may vary. GDAL 1.11.0 2014-04-25 GDAL 2.0.0 2015-06 GDAL 2.1.0 2016-04 - PostGIS 2.0.0 2012-04-03 PostGIS 2.1.0 2013-08-17 PostGIS 2.2.0 2015-10-17 Spatialite 4.0.0 2012-11-25 diff --git a/docs/ref/contrib/gis/install/index.txt b/docs/ref/contrib/gis/install/index.txt index bc4be4ef29..9c2728f763 100644 --- a/docs/ref/contrib/gis/install/index.txt +++ b/docs/ref/contrib/gis/install/index.txt @@ -58,7 +58,7 @@ supported versions, and any notes for each of the supported database backends: ================== ============================== ================== ========================================= Database Library Requirements Supported Versions Notes ================== ============================== ================== ========================================= -PostgreSQL GEOS, PROJ.4, PostGIS 9.2+ Requires PostGIS. +PostgreSQL GEOS, PROJ.4, PostGIS 9.3+ Requires PostGIS. MySQL GEOS 5.5+ Not OGC-compliant; :ref:`limited functionality `. Oracle GEOS 11.2+ XE not supported. SQLite GEOS, GDAL, PROJ.4, SpatiaLite 3.6.+ Requires SpatiaLite 4.0+, pysqlite2 2.5+ diff --git a/docs/ref/databases.txt b/docs/ref/databases.txt index edbe72c1ec..35a3dbcbe8 100644 --- a/docs/ref/databases.txt +++ b/docs/ref/databases.txt @@ -92,7 +92,7 @@ below for information on how to set up your database correctly. PostgreSQL notes ================ -Django supports PostgreSQL 9.2 and higher. It requires the use of `psycopg2`_ +Django supports PostgreSQL 9.3 and higher. It requires the use of `psycopg2`_ 2.4.5 or higher (or 2.5+ if you want to use :mod:`django.contrib.postgres`). .. _psycopg2: http://initd.org/psycopg/ diff --git a/docs/releases/1.11.txt b/docs/releases/1.11.txt index 3f6eb4598a..3abb7db368 100644 --- a/docs/releases/1.11.txt +++ b/docs/releases/1.11.txt @@ -204,6 +204,15 @@ Database backend API * ... +Dropped support for PostgreSQL 9.2 and PostGIS 2.0 +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +Upstream support for PostgreSQL 9.2 ends in September 2017. As a consequence, +Django 1.11 sets PostgreSQL 9.3 as the minimum version it officially supports. + +Support for PostGIS 2.0 is also removed as PostgreSQL 9.2 is the last version +to support it. + Miscellaneous ------------- diff --git a/tests/gis_tests/geoapp/tests.py b/tests/gis_tests/geoapp/tests.py index 2b215f80a9..3b2f65e9b3 100644 --- a/tests/gis_tests/geoapp/tests.py +++ b/tests/gis_tests/geoapp/tests.py @@ -22,11 +22,6 @@ from .models import ( ) -def postgis_bug_version(): - spatial_version = getattr(connection.ops, "spatial_version", (0, 0, 0)) - return spatial_version and (2, 0, 0) <= spatial_version <= (2, 0, 1) - - @skipUnlessDBFeature("gis_enabled") class GeoModelTest(TestCase): fixtures = ['initial'] @@ -314,11 +309,6 @@ class GeoLookupTest(TestCase): # Right: A >> B => true if xmin(A) > xmax(B) # See: BOX2D_left() and BOX2D_right() in lwgeom_box2dfloat4.c in PostGIS source. - # The left/right lookup tests are known failures on PostGIS 2.0/2.0.1 - # http://trac.osgeo.org/postgis/ticket/2035 - if postgis_bug_version(): - self.skipTest("PostGIS 2.0/2.0.1 left and right lookups are known to be buggy.") - # Getting the borders for Colorado & Kansas co_border = State.objects.get(name='Colorado').poly ks_border = State.objects.get(name='Kansas').poly