tutorial pricing premium postgres example addon postgresql heroku mysqldump heroku-postgres

postgresql - pricing - ¿Cómo puedo descargar db de heroku?



heroku postgresql database url (4)

Creo que la forma más fácil de descargar y replicar la base de datos en el servidor local:

**PGUSER**=LOCAL_USER_NAME PGPASSWORD=LOCAL_PASSWORD heroku pg:pull --app APP_NAME HEROKU_POSTGRESQL_DB_NAME LOCAL_DB_NAME

Consulte este documento para obtener más información: https://devcenter.heroku.com/articles/heroku-postgresql#pg-push-and-pg-pull

Estoy usando heroku y quiero descargar la base de datos de mi aplicación (heroku) para poder hacer algunos cambios, he instalado pgbackups, pero usando heroku pgbackups:url descarga un archivo .dump

¿Cómo puedo descargar un archivo postgresql o traducir ese .dump a un archivo postgresql?


Encontré el primer método sugerido en la https://devcenter.heroku.com/articles/heroku-postgresql#pg-push-and-pg-pull aún más fácil. No se requiere contraseña o nombre de usuario

pg: pull

pg: pull se puede utilizar para extraer datos remotos de una base de datos Heroku Postgres a una base de datos en su máquina local. El comando se ve así:

$ heroku pg:pull HEROKU_POSTGRESQL_MAGENTA mylocaldb --app sushi

Este comando creará una nueva base de datos local llamada "mylocaldb" y luego extraerá datos de la base de datos en DATABASE_URL de la aplicación "sushi". Para evitar sobreescrituras y pérdidas accidentales de datos, la base de datos local no debe existir. Se le pedirá que elimine una base de datos local ya existente antes de continuar.

Al principio tuve un error: /bin/sh: createdb: command not found ; que resolví después de esta publicación SO .

Una alternativa descrita también en la documentación (no la probé todavía) es:

Para exportar los datos de su base de datos Heroku Postgres, cree una nueva copia de seguridad y descárguela.

$ heroku pg:backups:capture $ heroku pg:backups:download

Fuente: https://devcenter.heroku.com/articles/heroku-postgres-import-export


Hay un comando para esto en la CLI - heroku db:pull que hará esto por ti. db: pull puede ser un poco lento, así que será mejor que uses la siguiente opción.

Si está utilizando tipos de datos de postgreso complejos (hstore, arrays, etc.), entonces necesita usar el plugin pgtransfer https://github.com/ddollar/heroku-pg-transfer que básicamente hará una copia de seguridad en Heroku y la restaurará localmente. .

ACTUALIZACIÓN: db: pull y db: push han quedado obsoletos y deben reemplazarse por pg: pull y pg: push - leer más en https://devcenter.heroku.com/articles/heroku-postgresql#pg-push-and-pg-pull


Si está utilizando los pgbackups de Heroku (que probablemente debería usar):

$ heroku pg:backups capture $ curl -o latest.dump `heroku pg:backups public-url`

"Traducirlo" a un db Postgres con

$ pg_restore --verbose --clean --no-acl --no-owner -h localhost -U myuser -d mydb latest.dump

Ver https://devcenter.heroku.com/articles/heroku-postgres-import-export