### Eclipse Workspace Patch 1.0
#P django-trunk
Index: django/contrib/gis/db/backends/postgis/operations.py
===================================================================
--- django/contrib/gis/db/backends/postgis/operations.py	(Revision 16722)
+++ django/contrib/gis/db/backends/postgis/operations.py	(Arbeitskopie)
@@ -399,7 +399,7 @@
 
         return placeholder
 
-    def _get_postgis_func(self, func):
+    def _get_postgis_func(self, func, close=True):
         """
         Helper routine for calling PostGIS functions and returning their result.
         """
@@ -413,16 +413,17 @@
                 raise
         finally:
             # Close out the connection.  See #9437.
-            self.connection.close()
+            if close:
+                self.connection.close()
         return row[0]
 
     def postgis_geos_version(self):
         "Returns the version of the GEOS library used with PostGIS."
         return self._get_postgis_func('postgis_geos_version')
 
-    def postgis_lib_version(self):
+    def postgis_lib_version(self, close=True):
         "Returns the version number of the PostGIS library used with PostgreSQL."
-        return self._get_postgis_func('postgis_lib_version')
+        return self._get_postgis_func('postgis_lib_version', close)
 
     def postgis_proj_version(self):
         "Returns the version of the PROJ.4 library used with PostGIS."
@@ -436,13 +437,13 @@
         "Returns PostGIS version number and compile-time options."
         return self._get_postgis_func('postgis_full_version')
 
-    def postgis_version_tuple(self):
+    def postgis_version_tuple(self, close=True):
         """
         Returns the PostGIS version as a tuple (version string, major,
         minor, subminor).
         """
         # Getting the PostGIS version
-        version = self.postgis_lib_version()
+        version = self.postgis_lib_version(close)
         m = self.version_regex.match(version)
 
         if m:
Index: django/contrib/gis/db/backends/postgis/creation.py
===================================================================
--- django/contrib/gis/db/backends/postgis/creation.py	(Revision 16722)
+++ django/contrib/gis/db/backends/postgis/creation.py	(Arbeitskopie)
@@ -10,7 +10,9 @@
         from django.contrib.gis.db.models.fields import GeometryField
 
         output = super(PostGISCreation, self).sql_indexes_for_field(model, f, style)
-
+        postgis_version = self.connection.ops.postgis_version_tuple(close=False)[1:]
+        
+        
         if isinstance(f, GeometryField):
             gqn = self.connection.ops.geo_quote_name
             qn = self.connection.ops.quote_name
@@ -45,7 +47,12 @@
                 if f.geography:
                     index_opts = ''
                 else:
-                    index_opts = ' ' + style.SQL_KEYWORD(self.geom_index_opts)
+                    # Check for PostGIS Version
+                    # PostGIS 2.0 does not support GIST_GEOMETRY_OPS
+                    if postgis_version >= (2, 0):
+                        index_opts = ''
+                    else:
+                        index_opts = ' ' + style.SQL_KEYWORD(self.geom_index_opts)
                 output.append(style.SQL_KEYWORD('CREATE INDEX ') +
                               style.SQL_TABLE(qn('%s_%s_id' % (db_table, f.column))) +
                               style.SQL_KEYWORD(' ON ') +
