Hacer backups de nuestras bases de datos en PostgreSQL puede parecer difícil, pero no lo es. A continuación te voy a explicar con dos sencillos comandos como podemos automatizar nuestras backups de PostgreSQL.
Para hacer un dump completo (data y estructura) de una base de datos en PostgreSQL, podemos utilizar el siguiente comando desde nuestra consola:
pg_dump -U usuario -W -h host basename > basename.sql
Vamos a explicar el comando al completo:
-U => Se refiere al Usuario, en este caso puede ser el usuario propietario de la base de datos o el usuario postgres
-W => Con este parámetro conseguiremos que nos solicite el password del usuario antes especificado
-h => Con este indicamos cuál es el servidor PostgreSQL al que nos conectaremos para obtener nuestro dump, si estamos local podemos colocar localhost sino ponemos la IP del servidor PostgreSQL
basename => Este es el ultimo parámetro realmente en esta linea de comando, por esa razon no tiene alguna letra que indique que el siguiente parámetro es el nombre de la base de datos
> basename.sql => Esta parte en realidad solo indica que la salida de nuestro comando pg_dump la guarde en un archivo basename.sql
Cuando queramos restaurar la base de datos solo tenemos que ejecutar el siguiente comando:
psql -U username -W -h host basename < basename.sql
Y así de sencillo hacemos una backup y la restauramos de nuestro base de datos PostgreSQL.
Respaldar base de datos
https://www.youtube.com/watch?v=p1luuoh6TT0
Restaurar base de datos
https://www.youtube.com/watch?v=_C90mwwtrjw
Respaldar base de datos de una tabla en específico
https://www.youtube.com/watch?v=trlsgPbNF0g&t=3s
En que carpeta se guarda mi backup?
pg_dump -U postgres -W -h 127.0.0.1 basedata > basename.sql
basedata = Nombre de la base de datos creada en postgres
basename.sql = Nombre que va a tener tu backup
para saber donde tienes que ir con el comando cd a la carpeta donde quieres que se almacene tu base de datos y ejecutas el comando.
ejemplo
cd /var/www/html/proyecto
y una vez dentro corres el comando
pg_dump -U postgres -W -h 127.0.0.1 basedata > basename.sql
psql -U postgres -W -h 127.0.0.1 basedata > basename.sql
También pueden usar psql y todo lo demás es igual
Como respaldar el csv en archivo AVRO?
Genial, me sirvio para pasar la data de produccion a desarrollo ambos entornos dockerizados xD
Hola, tengo una duda… Donde se guarda el backup?
pg_dump -U postgres -W -h 127.0.0.1 basedata > basename.sql
basedata = Nombre de la base de datos creada en postgres
basename.sql = Nombre que va a tener tu backup
para saber donde tienes que ir con el comando cd a la carpeta donde quieres que se almacene tu base de datos y ejecutas el comando.
ejemplo
cd /var/www/html/proyecto
y una vez dentro corres el comando
pg_dump -U postgres -W -h 127.0.0.1 basedata > basename.sql
Hola nachogoomez, muchas gracias por el aporte. Estoy a punto de usarlo, no entendí lo de ‘basename’.
Tengo 2 dudas:
Muchas gracias de antemano
Asi es, “basename” tiene que ser reemplazado por el nombre de la db que quieres respaldar y en el host no es necesario incluir el puerto. Si quisieras conectarte por otro puerto usa la opcion “-p”
pg_dump -h 198.51.100.0 -p 5432 basename > basename.bak