Opened 11 years ago

Last modified 11 years ago

#2279 closed defect

Can't upgrade PostGIS from 2.0 — at Version 6

Reported by: robe Owned by: pramsey
Priority: blocker Milestone: PostGIS 2.1.0
Component: build Version: master
Keywords: Cc:

Description (last modified by robe)

UPDATE: on closer inspection this makes it IMPOSSIBLE to do a soft upgrade from 2.0 to 2.1 with or without extensions.


This I suspect is just an extension issue and I have to put in extra logic for this. I'll double check but I did my usual micro-micro upgrade

Upgrading from 2.1.0 SVN r11142 to r11306

with

ALTER EXTENSION postgis UPDATE TO "2.1.0SVNnext";

and got this

ERROR:  cannot drop function geometry_gist_sel_2d(internal,oid,internal,integer) because other objects depend on it

Change History (6)

comment:1 by robe, 11 years ago

Priority: blockerhigh

okay this might be something wrong with my installation. This is my oldest database ever that was restored from 1.5 using postgis_restore.pl and that I have been happily upgrading from 2.0 to 2.1s.

I tried creating a database with a postgis 2.1 from February and then upgraded it to latest and it was fine. Funny thing about this database is that when I list functions in the extension, geometry_gist_sel_2d is not one of them and yet the extension depends on it and I don't see any other reference and I can't drop it from the extension because well it's not part of it.

ERROR:  function geometry_gist_sel_2d(internal,oid,internal,integer) is not a member of extension "postgis"

Could be a loose thread in PostgreSQL extension machinery.

Same issue with all these:

DROP FUNCTION IF EXISTS geometry_gist_sel_2d (internal, oid, internal, int4);
DROP FUNCTION IF EXISTS geometry_gist_joinsel_2d(internal, oid, internal, smallint);
DROP FUNCTION IF EXISTS geography_gist_selectivity (internal, oid, internal, int4);
DROP FUNCTION IF EXISTS geography_gist_join_selectivity(internal, oid, internal, smallint);

comment:2 by robe, 11 years ago

Priority: highblocker
Summary: Can't upgrade PostGIS with extensionCan't upgrade PostGIS from 2.0 with extension

Back to blocker. Just tried to do the following on a new database.

CREATE EXTENSION postgis VERSION 2.0.3;
ALTER EXTENSION postgis UPDATE TO "2.1.0SVN";

and got the same error. so somewhere the extension is not seeing these functions as being part of PostGIS extension but yet won't allow them to be dropped because some how they are part of the extension or something in the extension depends on them.

This is running on PostgreSQL 9.2.4. So might be very well a bug in the PostgreSQL extension machinery rather than PostGIS scripts.

comment:3 by robe, 11 years ago

Summary: Can't upgrade PostGIS from 2.0 with extensionCan't upgrade PostGIS from 2.0

This is now SUPER SERIOUS. To rule out extension as the culprit, I decided to install and upgrade the old-fashioned strk way.

1) Create a new database and run the numerous scripts to install 2.0.3 (both postgis.sql and rtpostgis.sql) 2) then try to run our postgis_upgrade_20_21.sql

and to my dismay — I got the same error, was slightly more informative

ERROR:  cannot drop function geometry_gist_sel_2d(internal,oid,internal,integer) because other objects depend on it
DETAIL:  operator &&(geometry,geometry) depends on function geometry_gist_sel_2d(internal,oid,internal,integer)
operator class gist_geometry_ops_2d for access method gist depends on operator &&(geometry,geometry)
HINT:  Use DROP ... CASCADE to drop the dependent objects too.

********** Error **********

ERROR: cannot drop function geometry_gist_sel_2d(internal,oid,internal,integer) because other objects depend on it
SQL state: 2BP01
Detail: operator &&(geometry,geometry) depends on function geometry_gist_sel_2d(internal,oid,internal,integer)
operator class gist_geometry_ops_2d for access method gist depends on operator &&(geometry,geometry)
Hint: Use DROP ... CASCADE to drop the dependent objects too.

HELP pramsey.

Even worse my old db where I had replaced binaries had to swap back because it literally broke all my mapping apps since && is so critical.

comment:4 by robe, 11 years ago

Fore reference completeness I believe we are talking about these 2 commits:

r11288 r11289

comment:5 by robe, 11 years ago

Owner: changed from robe to pramsey

comment:6 by robe, 11 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.