Nicholas,

I can't answer 'What's the right way?', as I'm sure I don't have it yet, but I 
have found the biggest issue is in getting postgis to transfer, so I do it in 
steps:

1. always install postgis into it's own schema (either create the schema - gis 
- and set the search-path before \i postgis.sql command, or edit the 
postgis.sql file)

2. when dumping, ignore the gis schema = pg-dump -N gis database > database.dump

3. when recreating, create new database, import postgis (as in 1) then restore 
database.dump (psql newdatabase < database.dump)

Or some variant of the above - and I'd love to know / be shown a better way!

As a side benefit (If it helps,) I also use the gis schema for reasonably 
static GIS data - background maps etc. Then my backups don't include it, and 
are often much smaller for it, which helps going between machines.

cheers

Ben




On 09/04/2010, at 21:20 , Nicholas Bower wrote:

> I'm trying to create a new instance on a different platform of a 
> postgis-enabled database, starting with just the schema definition.  What's 
> the right way?  This doesn't work below - do I have to partition into 
> separate schemas to have this work perhaps?  Thanks, Nick
> 
> [Solaris Postgis 1.3.4] pg_dump -scFc database > schema.sql
> 
> [Windows Postgis 1.5.1] pgrestore -d database schema.sql
> 
> End result - lots of errors and missing any tables containing postgis 
> objects.  Note the hard coded c language function library paths below;
> 
> pg_restore: [archiver (db)] Error while PROCESSING TOC:
> pg_restore: [archiver (db)] Error from TOC entry 6; 2615 18201 SCHEMA wastac 
> wastacad
> pg_restore: [archiver (db)] could not execute query: ERROR:  schema "wastac" 
> already exists
>     Command was:
> CREATE SCHEMA wastac;
> pg_restore: [archiver (db)] Error from TOC entry 1223; 2612 17398 PROCEDURAL 
> LANGUAGE plpgsql postgres
> pg_restore: [archiver (db)] could not execute query: ERROR:  language 
> "plpgsql"
> already exists
>     Command was: CREATE PROCEDURAL LANGUAGE plpgsql;
> pg_restore: [archiver (db)] Error from TOC entry 1115; 0 0 SHELL TYPE box2d 
> postgres
> pg_restore: [archiver (db)] could not execute query: ERROR:  type "box2d" 
> already exists
>     Command was: CREATE TYPE box2d;
> pg_restore: [archiver (db)] Error from TOC entry 216; 1255 17477 FUNCTION 
> st_box2d_in(cstring) postgres
> pg_restore: [archiver (db)] could not execute query: ERROR:  permission 
> denied for language c
>     Command was: CREATE FUNCTION st_box2d_in(cstring) RETURNS box2d
>     AS '/usr/local/postgis-1.3.4/lib/liblwgeom', 'BOX2DFLOAT4_in'
>     LAN...
> pg_restore: [archiver (db)] could not execute query: ERROR:  function 
> public.st_box2d_in(cstring) does not exist
>     Command was: ALTER FUNCTION public.st_box2d_in(cstring) OWNER TO postgres;
> pg_restore: [archiver (db)] Error from TOC entry 218; 1255 17479 FUNCTION 
> st_box2d_out(box2d) postgres
> pg_restore: [archiver (db)] could not execute query: ERROR:  permission 
> denied for language c
>     Command was: CREATE FUNCTION st_box2d_out(box2d) RETURNS cstring
>     AS '/usr/local/postgis-1.3.4/lib/liblwgeom', 'BOX2DFLOAT4_out'
>     L...
> pg_restore: [archiver (db)] could not execute query: ERROR:  function 
> public.st_box2d_out(box2d) does not exist
>     Command was: ALTER FUNCTION public.st_box2d_out(box2d) OWNER TO postgres;
> pg_restore: [archiver (db)] Error from TOC entry 1114; 1247 17475 TYPE box2d 
> postgres
> 
> ...
> 
> pg_restore: [archiver (db)] could not execute query: ERROR:  relation 
> "t_tile_geometry" does not exist
>     Command was: GRANT SELECT ON TABLE t_tile_geometry TO wastacportal;
> pg_restore: [archiver (db)] could not execute query: ERROR:  relation 
> "t_tile_geometry" does not exist
>     Command was: GRANT SELECT,INSERT,DELETE,UPDATE ON TABLE t_tile_geometry 
> TO wastac;
> WARNING: errors ignored on restore: 1586
> _______________________________________________
> postgis-users mailing list
> postgis-users@postgis.refractions.net
> http://postgis.refractions.net/mailman/listinfo/postgis-users

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

Reply via email to