Postgres en Heroku y volcando una sola tabla para volcar el archivo


Estoy usando Postgres en Heroku y necesito volcar una tabla de mi base de datos de producción y volcarla en mi base de datos de staging. Tengo el heroku tool belt instalado, pero no estoy seguro de cómo volcar una sola tabla de bd para importarla a mi base de datos de staging.

Author: dennismonsewicz, 2013-04-03

3 answers

Puede volcar una sola tabla de datos de la siguiente manera:

$ pg_dump --no-acl --no-owner -h [host ip].compute-1.amazonaws.com -U [user name] -t [table name] --data-only [database name] > table.dump

Puede obtener todos los valores necesarios con esto:

$ heroku pg:credentials:url [DATABASE] -a [app_name]
Connection info string:
   "dbname=[database name] host=[host ip].compute-1.amazonaws.com port=5432 user=[user name] password=[password] sslmode=require"
Connection URL:
    postgres://[username]:[password]@[host ip].compute-1.amazonaws.com:5432/[database name]

Esto le pedirá su contraseña. Introdúzcalo, y luego debe proceder a obtener un archivo table.dump en su unidad local.

Probablemente desee truncar la tabla en la estadificación:

$ echo "truncate [table];" | heroku pg:psql [DATABASE] -a staging_app

Con ese archivo, puede usar psql con la salida Connection URL:de una nueva llamada a pg:credentials para la aplicación provisional y restaurar solo esa tabla.

$ psql "[pasted postgres:// from pg:credentials:url of staging app]" < table.dump
SET
SET
...
...
...
...
$ 
 61
Author: catsby,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-08-14 07:34:40

@catsbys respuesta

Necesitaba agregar el puerto también

Pg_dump no no-acl no no-owner-h [host ip]. compute-1.amazonaws.com -p [puerto] -U [nombre de usuario]-t [nombre de tabla] only solo datos [nombre de base de datos] > tabla.dump

 4
Author: Nicolai,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-03-17 20:49:12

Eche un vistazo a taps (db:pull), su caso de uso está cubierto por esta pregunta respondida, creo.

 1
Author: friism,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:54:46