[postgis-users] Errors upgrading from 1.4.0 to 1.5.2

Paragon Corporation lr at pcorp.us
Sat Oct 30 23:46:26 PDT 2010


David,

My guess is that you probably have some sql functions using the old
deprecated Extent aggregate so it can't be cleanly dropped and unfortunately
there is no ALTER AGGREGATE function in PostgreSQL yet.

What you can do is one of 3 things that come to mind

1) Find the code and change it to use ST_Extent.  This is probalby in an SQL
function since PostgreSQL is not smart enough in 8.4 to check the internals
of plpgsql.  If you are using pgAdminIII it shows
The dependents of each function in one of the tabs..

2) Do a Hard upgrade -- by that I mean what Paul has described here -
http://blog.cleverelephant.ca/2010/09/postgis-back-up-restore.html

Or 
3) If your database is too big to go thru that trouble

Just remark out the DROP/CREATE AGGREGATE of the deprecated functions. And
hmm deal with it later.  Those will still work anyway.

If you get an error with ST_Extent  (I actually don't think that has changed
signature between 1.4 and 1.5 so you can probably safely remark that out
too.)

Hope that helps,
Regina
http://www.postgis.us



 

-----Original Message-----
From: postgis-users-bounces at postgis.refractions.net
[mailto:postgis-users-bounces at postgis.refractions.net] On Behalf Of David
Cato
Sent: Sunday, October 31, 2010 2:14 AM
To: postgis-users at postgis.refractions.net
Subject: [postgis-users] Errors upgrading from 1.4.0 to 1.5.2

I'm trying to upgrade PostGIS from 1.4.0 to 1.5.2 but am encountering errors
in the postgis_upgrade_14_to_15.sql script. When run, I get

... trimmed output ...

psql:postgis_upgrade_14_to_15.sql:219: NOTICE:  type "box3d_extent" is not
yet defined
DETAIL:  Creating a shell type definition.
CREATE FUNCTION
psql:postgis_upgrade_14_to_15.sql:223: NOTICE:  argument type box3d_extent
is only a shell CREATE FUNCTION
psql:postgis_upgrade_14_to_15.sql:227: NOTICE:  argument type box3d_extent
is only a shell CREATE FUNCTION
psql:postgis_upgrade_14_to_15.sql:231: NOTICE:  argument type box3d_extent
is only a shell CREATE FUNCTION
psql:postgis_upgrade_14_to_15.sql:235: NOTICE:  argument type box3d_extent
is only a shell

... trimmed output ...

psql:postgis_upgrade_14_to_15.sql:1262: NOTICE:  argument type box3d_extent
is only a shell
psql:postgis_upgrade_14_to_15.sql:1262: NOTICE:  return type box3d_extent is
only a shell CREATE FUNCTION
psql:postgis_upgrade_14_to_15.sql:1266: NOTICE:  argument type box3d_extent
is only a shell
psql:postgis_upgrade_14_to_15.sql:1266: NOTICE:  return type box3d_extent is
only a shell CREATE FUNCTION DROP AGGREGATE
psql:postgis_upgrade_14_to_15.sql:1272: ERROR:  type "box3d_extent" is only
a shell
psql:postgis_upgrade_14_to_15.sql:1273: ERROR:  current transaction is
aborted, commands ignored until end of transaction block

... another 625 transaction aborted messages ...

The failure occurs on the first CREATE AGGREGATE statement:

CREATE AGGREGATE Extent(
        sfunc = ST_combine_bbox,
        basetype = geometry,
        stype = box3d_extent
        );

I'm running this with PostgreSQL 8.4 on a Linux system, if that makes any
difference.

How can I fix the problem and complete the upgrade?

--
David Cato

_______________________________________________
postgis-users mailing list
postgis-users at postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users





More information about the postgis-users mailing list