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:

Imagen de la consola usuando el comando pg_dump

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 :D

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.