Darrel,
That all looks right but it seems the alter function part is being wiped out If this statement is working: ALTER FUNCTION _raster_constraint_nodata_values(raster) SET search_path=pg_catalog,public,postgis; Then that error shouldn't be happening. This would happen if you are doing clean restore, as I think the restore would drop the postgis extension and then recreate thus losing the alter function settings you just put in. Are you doing a clean restore – if you are uncheck that (if you are in pgAdmin) If you are doing with via command-line, make sure to leave out the -c or --clean Switches. I have to test this out. It's been a while since I restored the database I had this issue with. So I may have missed something else. Thanks, Regina From: postgis-users [mailto:postgis-users-boun...@lists.osgeo.org] On Behalf Of Darrel Maddy Sent: Wednesday, November 11, 2015 2:03 PM To: PostGIS Users Discussion <postgis-users@lists.osgeo.org> Subject: Re: [postgis-users] restore problem Dear Regina and Rich, I tried to follow your instructions by doing the following: 1. I redid the backup of my database excluding the public schema. This completed with an exit code 0 so I am assuming no problems. 2. I created the ‘new’ database on my laptop and then added the postgis extension. All functions were there and the extension is in the Public schema. 3. I then ran the following script ALTER FUNCTION _raster_constraint_pixel_types(raster) SET search_path=pg_catalog,public,postgis; ALTER FUNCTION _raster_constraint_info_regular_blocking(name,name,name) SET search_path=pg_catalog,public,postgis; ALTER FUNCTION _raster_constraint_nodata_values(raster) SET search_path=pg_catalog,public,postgis; ALTER FUNCTION _raster_constraint_out_db(raster) SET search_path=pg_catalog,public,postgis; 4. I then attempted the restore and unfortunately the same thing happened again .i.e pg_restore: processing data for table "dems" pg_restore: [archiver (db)] Error while PROCESSING TOC: pg_restore: [archiver (db)] Error from TOC entry 3418; 0 94054 TABLE DATA dems postgres pg_restore: [archiver (db)] COPY failed for table "dems": ERROR: function st_bandmetadata(public.raster, integer[]) does not exist LINE 1: ...(round(nodatavalue::numeric, 10))::numeric[] FROM st_bandmet... ^ HINT: No function matches the given name and argument types. You might need to add explicit type casts. QUERY: SELECT array_agg(round(nodatavalue::numeric, 10))::numeric[] FROM st_bandmetadata($1, ARRAY[]::int[]); CONTEXT: SQL function "_raster_constraint_nodata_values" during inlining COPY dems, line 1: "1 0100000100000000000000344000000000000034C0E0CCCCCCB1D517418066666692F80C41000000000000000000000000..." pg_restore: executing SEQUENCE SET dems_rid_seq Firstly, is this what you expected me to do or did I misunderstand? Secondly, does this mean that I have to do this for each of the _raster_constraint functions? (I think there are 16 of them) Hopefully I am making progress. Darrel
_______________________________________________ postgis-users mailing list postgis-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/postgis-users