Exportar (dump) base de datos en PostgreSQL

postgreSQL

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 8.3 (debe de funcionar para 8.x), en Ubuntu 8.10, 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:

$ sudo aptitude 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.

Quisiera agradecer al Jaziel The Database Magician por sus enseñanzas en este tema no soy tan diestro =], gracias y saludos.

Amarok is playing: Alter Ego – Rocker

Importar archivo .sql a PostgreSQL 8.2

Anteriormente vimos como Instalar PostgreSQL y pgadmin en nuestro Ubuntu, ahora 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:

$ sudo bash
# 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:

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

Espero que les sea de utilidad.

Visto en: Blog Schum@

Amarok is playing: Finale Presto – Allegro assai “Oda a la alegría” by Beethoven

Instalar postgresql y pgadmin en Ubuntu

postgreSQLAhora veremos como instalar este gran manejador de base de datos (DBMS): PostgreSQL, además de la instalación de Pgadmin, una herramienta para gestionar de modo visual a PostgreSQL. Además veremos instrucciones básicas de consola para el manejo de PostgreSQL.

Desde mi punto de vista postgresql es más robusto para grandes aplicaciones que mysql, pero cada quien tiene su opinion. Yo seguí los pasos sobre Ubuntu 7.10, en otras distribuciones debe de ser algo parecido :P.

1) Instalar PostgreSQL

La versión a instalar será la 8.2 la cual se encuentra dentro de los repositorios. Entonces ejecutamos:

$ sudo apt-get install postgresql-8.2

También se instalarán los paquetes necesarios. Una vez instalado necesitamos acceder a la cuenta de postgres:

keogh@maquina:$ sudo bash
root@maquina:# su postgres

Hecho esto, nos aparecerá un nuevo prompt:

postgres@maquina:$

Ahora creamos un nombre de usuario para la BD con el comando createuser, en mi caso utilizaré el nombre de keogh (para variar):

postgres@maquina:$ createuser keogh

Procedemos a crear una Base de Datos para experimentar, en mi caso crearé la BD pruebaBD:

postgres@maquina:$ createdb pruebaBD
CREATE DATABASE

Una vez hecho esto nos salimos y volvemos a nuestro usuario:

postgres@maquina:$ exit
root@maquina:# exit
keogh@maquina:$

Seguidamente, arrancamos postgres:

keogh@maquina:$ psql pruebaBD

Dicho comando nos mostrará una salida como ésta:

Bienvenido a psql 8.2.3, la terminal interactiva de PostgreSQL.

Digite: \copyright para ver los términos de distribución
\h para ayuda de comandos SQL
\? para ayuda de comandos psql
\g o or termine con punto y coma para ejecutar una consulta
\q para salir

pruebaBD=#

Lo cual nos indica que hemos entrado a la Base de Datos. En éste punto, podremos ejecutar todos los comandos en SQL que necesitemos.

Como último paso, por cuestiones de seguridad, podremos cambiar la contraseña de nuestro usuario de la Base de Datos.

miBD=# alter user keogh with password 'password';
ALTER ROLE

Para salir de la Base de Datos hacemos:

miBD=# \q

Finalmente, para conectarnos desde la consola a la Base de Datos que acabamos de crear, cada vez que así lo necesitemos, bastará con ejecutar el comando:

keogh@maquina:$ psql -h localhost pruebaBD
Contraseña: password

Eso es todo en cuanto al manejo de postgres desde la consola, ahora veamos la instalación y manejo de pgadmin.

2) Instalar pgadmin

Para instalar pgadmin solo hay ejecutar:

$ sudo apt-get install pgadmin3

Bien, ahora ejecutemos el programa que acabamos de instalar:

$ pgadmin3 &

Hecho ésto, procedemos a añadir un servidor para nuestro programa, siguiendo el menú:

Archivo -> Añadir Servidor…

Ingresemos la información solicitada en el diálogo presentado:

Dirección: localhost
Descripción: Conexion con localhost
BD de mantenimiento: pruebaBD
Nombre de Usuario: keogh
Contraseña: password

En ‘Dirección’ debemos ingresar la ubicación de nuestra Base de Datos, en nuestro caso será ‘localhost’ puesto que estamos trabajando con una Base de Datos local.

En ‘Descripción’ preferentemente describiremos la conexión con el servidor que estamos creando.

‘BD de mantenimiento’, en dicho campo ingresaremos el nombre de la Base de Datos que vamos a manejar.

‘Nombre de usuario’, pues eso, ingresamos el nombre de usuario que creamos como cuenta en el DBMS. ‘keogh’ en nuestro ejemplo.

‘Contraseña’, ingresamos el password que asignamos al nombre de usuario que hemos creado.

Le damos a ‘aceptar’.

Luego, hacemos ‘doble click’ en la nueva conexión creada y listo.

Cabe rescatar que la interfaz provista por pgadmin es bastante amigable, se puede hacer todo, desde crear una tabla hasta crear mas Bases de Datos, simplemente a base de un click derecho en el elemento deseado del panel izquierdo. Por ejemplo, si deseamos crear una tabla debemos de hacer click derecho en el item ‘Tablas(n)’ y luego en ‘nueva tabla’ (donde n es el numero de tablas que tenemos actualmente), para llenar el nombre y el propietario.

Fácil como todo no?

Visto en: Luixtein Blog

Amarok is Playing: Sex Style by Astrix