¿Cómo exportar un volcado de Postgres compatible con Heroku desde Ninefold?

¿Cómo exportar un volcado de Postgres compatible con Heroku desde Ninefold?

Estoy intentando migrar mi base de datos Postgres de Ninefold a Heroku.

El comando que estoy usando para exportar es:

PGPASSWORD=password pg_dump -h ipaddress -p port -U user -d database -Fc --no-acl --no-owner -x -O -N postgis > ninefold-backup.dump

Luego cargue en S3 y luego ejecute este comando:

heroku pg:backups restore 'https://s3-us-west-2.amazonaws.com/bucket/ninefold-backup.dump' DATABASE_URL -a app --confirm app

Entonces heroku informa:

An error occurred and your backup did not finish.

Please run `heroku pg:backups info r003` for details.

En los registros muestra errores como estos:

2015-05-23 22:32:36 +0000: pg_restore: creating COMMENT EXTENSION xml2
2015-05-23 22:32:36 +0000: pg_restore: [archiver (db)] Error from TOC entry 5157; 0 0 COMMENT EXTENSION xml2
2015-05-23 22:32:36 +0000: pg_restore: [archiver (db)] could not execute query: ERROR:  extension "xml2" does not exist
2015-05-23 22:32:36 +0000: Command was: COMMENT ON EXTENSION xml2 IS 'XPath querying and XSLT';

2015-05-23 22:32:36 +0000: pg_restore: processing data for table "spatial_ref_sys"
2015-05-23 22:32:36 +0000: pg_restore: [archiver (db)] Error from TOC entry 4958; 0 19010 TABLE DATA spatial_ref_sys postgres
2015-05-23 22:32:37 +0000: pg_restore: [archiver (db)] could not execute query: ERROR:  relation "spatial_ref_sys" does not exist
2015-05-23 22:32:37 +0000: Command was: COPY spatial_ref_sys (srid, auth_name, auth_srid, srtext, proj4text) FROM stdin;

2015-05-23 22:07:39 +0000: pg_restore: processing data for table "topology"
2015-05-23 22:07:39 +0000: pg_restore: [archiver (db)] Error from TOC entry 4959; 0 20039 TABLE DATA topology postgres
2015-05-23 22:07:39 +0000: pg_restore: [archiver (db)] could not execute query: ERROR:  relation "topology" does not exist
2015-05-23 22:07:39 +0000: Command was: COPY topology (id, name, srid, "precision", hasz) FROM stdin;

¿Qué me estoy perdiendo?

Respuesta1

Encontre una forma. Parecía haber algún problema con las extensiones que Ninefold estaba usando, por lo que al agregar una -n publicopción, se crearía la copia de seguridad solo del esquema público.

PGPASSWORD=password pg_dump -h ipaddress -p port -U user -d database -Fc --no-acl --no-owner -x -O -N postgis -n public > ninefold-backup.dump

información relacionada