Exportar (dump) base de datos en PostgreSQL y Importar archivo .sql a PostgreSQL

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/












sd
Buenas!
Muy buen post, me ha servido de mucha utilidad para el tema de importar y exportar datos, pero tengo un problema, todo esto me ha funcionado en un entorno Windows sin ningún problema, pero al hacer en el entorno Centos me veo en la siguiente tesitura, al escribir esta línea:
./psql -U postgres -d base_de_datos -f archivo.sql
escribo la pertinente contraseña y me muestra el siguiente error:
ERROR: invalid byte sequence for encoding “UTF8″: 0xff
Sé que falla el sistema de codificación del fichero, pero no se cómo solventarlo.
Un saludo y espero que puedas ayudarme, Gracias.
Mira desconozco el caso , pero creo que esto te puede ayudar http://www.mail-archive.com/pgsql-general@postgresql.org/msg103629.html
Muy útil.
Saludos
… [Trackback]…
[...] Read More Infos here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Informations on that Topic: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Find More Informations here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More Infos here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] There you will find 68946 more Infos: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More Infos here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Informations on that Topic: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More Infos here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Find More Informations here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Find More Informations here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More Infos here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Find More Informations here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] There you will find 74968 more Infos: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Informations on that Topic: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] There you will find 78339 more Infos: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Informations on that Topic: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More Infos here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Informations on that Topic: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Informations on that Topic: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More here: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Informations on that Topic: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] There you will find 60342 more Infos: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Informations on that Topic: leobravo.cl/?p=947 [...]…
… [Trackback]…
[...] Read More: leobravo.cl/?p=947 [...]…
Me podrias explicar los pasos para hacerlo por medio de la consola psql de postgres.
tengo un archivo .sql que es copia de una base de datos y quiero montarla en otro pc.
En que lugar deberia copiar el archivo para ejecutarlo por consola y cosas asi
Gracias de antemano
explicado por correo interno , Saludos!