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: [email protected] [mailto:[email protected]] On Behalf Of David Cato Sent: Sunday, October 31, 2010 2:14 AM To: [email protected] 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 [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users _______________________________________________ postgis-users mailing list [email protected] http://postgis.refractions.net/mailman/listinfo/postgis-users
