EXPORTAR

Bueno ahora les voy a poner un par de comandos de consola para hacer, lo que se conoce como, dump de una base de datos en PostgreSQL. Esto significa exportar la base de datos, osea crear un archivo sql donde se encuentra la estructura y datos de una base de datos, así nos llevamos ese archivo y lo podemos meter en otro PostgreSQL que tengamos en otra computadora. Esto es muy sencillo.

Primero esto fue hecho en PostgreSQL 9.1 (debe de funcionar para 8.x),  debe de funcionar para cualquier distro ya que son comandos para manejar postgresql.

La sintaxis del comando es:

$ pg_dump dbname -U username > dump.sql

Donde dbname es el nombre de nuestra base de datos, username el nombre de usuario que que tiene permisos sobre esa base de datos y dump.sql el nombre del archivo que contendrá el dump de la base de datos. Ok, entonces supongamos que nuestra base de datos se llama: sonidolibre y el usuario que maneja la base de datos se llama: postgres (por default), entonces nuestro comando quedaría de la siguiente forma.

$ pg_dump sonidolibre -U postgres > sonidolibre.sql

Esto nos da un archivo con comandos SQL, el problema es que no esta comprimido y si la base de datos es muy extensa el archivo final estará muy grande y eso lo hace poco portable. Entonces agregaremos a la sentencia el comando gzip para comprimir el dump en un archivo gz. Para poder usar el comando gzip el programa con el mismo nombre debe de estar instalado.

Para instalar gzip en ubuntu escribimos en consola como root:

$ apt-get install gzip

Ahora la sintaxis para hacer un dump de la base de datos y comprimir el resultado en un archivo gz es la siguiente:

$ pg_dump dbname -U username | gzip > compressed.file.gz

Entonces siguiente los datos del ejemplo anterior, nos quedaría:

$ pg_dump sonidolibre -U postgres | gzip > sonidolibre.gz

Listo ahora podemos llevarnos el archivo e importarlo en otra base de datos.

IMPORTAR

hora vamos a ver como importar un archivo .sql a postgresql. Estos archivos son generados a partir de una base de datos en postgresql (ya veremos como hacerlo después), así podemos trasladar nuestras tablas en un solo archivo. Supongamos que tengo una BD en el trabajo y me la quiero llevar a mi casa, pues primero exporto la base de datos, guardo el archivo en mi USB, llego a mi casa y lo importo dentro de mi gestor en mi casa.

Esto es muy sencillo, más de lo que esperaba, debemos de ejecutar la siguiente instrucción como usuario de postgres entonces en Ubuntu sería:

Nota : la “base_de_datos” a la cual vamos a traspasar los datos del “archivo.sql” la creas antes de hacer el siguiente paso


$ su postgres
$ psql -U postgres -d base_de_datos -f archivo.sql

– U para el usuario que maneja postgres

– d Nombre de la base de datos

-f Archivo sql a importar

En el artículo de instalación de PostgreSQL creamos una Base de Datos llamada pruebaBD, vamos a usarla, además tenemos un archivo llamado, por ejemplo, backup.sql, que queremos cargar en esta base de datos,
entonces solamente tecleamos:


$  su postgres
$ psql -U postgres -d pruebaBD -f backup.sql

Saludos!

 

fuentes :

http://jesuslobaton.blogspot.com/2007/09/importar-un-archivo-sql-postgres-82.html

http://sonidolibre.wordpress.com/2009/03/13/exportar-dump-base-de-datos-en-postgresql/