Cómo hacer un dump completo de una base de datos en postgres y cómo importarlo
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 username -W -h host basename > basename.sql |
En nuestra consola se vería mas o menos de la siguiente manera:
Explicando un poco mas:
Comando pg_dump este se instala nuestro servidor PostgreSQL, existen otras herramientas graficas, pero con la experiencia e aprendido que a veces la consola es mas fiel que cualquier herramienta grafica pero esa es mi humilde opinión
Detallando cada parámetro:
Parámetro | Significa |
-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 |
Ahora como un agregado a este post vamos mostrar como Importar el dump utilizamos siempre nuestra consola.
psql -U username -W -h host basename < basename.sql |
De esta manera generamos un dump en PostgreSQL y a la ves lo importamos, es una manera sencilla y practica.