12

Click here to load reader

PgDump_pgRestore_en_pgAdmin_RCGF

Embed Size (px)

Citation preview

Page 1: PgDump_pgRestore_en_pgAdmin_RCGF

Página 1 de 12

ÍNDICE: Breve Introducción al pg_dump y pg_restore utilizando pgAdmin III 2 Conclusión. 11 Derechos Reservados: 12 Paso 1. Se agrega una conexión a tu servidor 3 Paso 2. Creamos la Base de Datos 3 Paso 23. Creamos la Tabla 4 Paso 34, Inserción de Datos 4 Paso 45, Resguardo 4 Paso 56, Eliminando la Base 7 Paso 67, Creando la Base destino 7 Paso 78, Restauración 7 Referencias: 12

Page 2: PgDump_pgRestore_en_pgAdmin_RCGF

Página 2 de 12

Breve Introducción al pg_dump y pg_restore utilizando pgAdmin III por: Roberto Carlos González Flores 17/ Feb/2007 [email protected] Introducción: Muchas veces necesitamos trasladar toda una Base de Datos, o simplemente los datos, o algunas otras opciones en Postgres, y lo que quiero mostrar en este pequeño tutorial es la forma de hacerlo utilizando la herramienta pgAdmin, esta herramienta normalmente viene con la distribución de postgres Database, de otra forma puedes descargar la herramienta de la siguiente url:

http://www.pgadmin.org/download/

Una vez instalada en cualquiera que sea tu plataforma, yo la he probado en Linux, Solaris™ y Windows™ XP™ (ver http://www.pgadmin.org/screenshots/ ). En este tutorial, solo demostraremos parte del potencial de las herramientas pg_dump y pg_restore aplicadas a una Base de datos, pero cabe aclarar que también se puede aplicar a una tabla, trigger, entre otros elementos, y que conlleva un procedimiento de administración alto, porque como todo al aplicar la herramientya en una base con demasiados datos, se puede ocasionar errores basados en Integridad, tamaño, o llegar a desesperar al administrador por el tiempo que lleva el proceso, por eso muchas veces es aconsejable ir conociendo a fondo las opciones de dichos comandos para no intentar siempre volcar Bases de Datos enormes y perder mucha información. El uso de la herramienta pgAdmin no suple el conocimiento que se debe tener al administrar una base de datos pero si facilita el manejo del SGBD.

Page 3: PgDump_pgRestore_en_pgAdmin_RCGF

Página 3 de 12

Desarrollo: Este ejemplo lo realizaremos desde la versión de Windows™, primero creamos la BD inicial. Necesitamos también tener preinstalado el Servidor PostgreSQL. Paso 1. Se agrega una conexión a tu servidor, en este caso utilizaremos una conexión que denominaremos Tutorial, y entramos proporcionando nuestro usuario y password de ser necesario.

Fig 1. Propiedades de Conexión a Servidor Postgres. Paso 2. Creamos la Base de Datos, tutorial, como se podrá observar, el pgAdmin tiene muchas opciones para ahorrarnos la tarea de hacerlo en línea de comandos (aunque no deja de ser emocionante hacerlo a la antiguita).

Page 4: PgDump_pgRestore_en_pgAdmin_RCGF

Página 4 de 12

Fig 2. Propiedades de Base de Datos. Paso 3. Creamos la Tabla , Podemos observar las tablas navegando, para efectos de observar como restaurar la base de datos completa, con Datos de alguna tabla crearemos la tabla tutorial, esto se hace con el asistente, pero el código SQL es el siguiente: CREATE TABLE “Tutorial” ( campo1 varchar(20), campo2 varchar(30) ) Paso 4, Inserción de Datos. Después simplemente insertamos algunos datos de prueba INSERT INTO “Tutorial” Values ('uno','uno'); INSERT INTO “Tutorial” Values ('dos','dos'); INSERT INTO “Tutorial” Values ('tres','tres'); INSERT INTO “Tutorial” Values ('cuatro','cuatro');

Fig 3. Vista pgAdmin de Datos Insertados.

Paso 5, Resguardo. Ahora tenemos un esquema para hacer un respaldo que es el propósito de este breve tutorial. Simplemente damos clic derecho al ícono de nuestra Base de Datos, y nos desplegara un menú contextual como el que se muestra en la figura 4:

Page 5: PgDump_pgRestore_en_pgAdmin_RCGF

Página 5 de 12

Fig 4. Menú Contextual de Base de Datos en pgAdmin III (resguardo). Al seleccionar la opción Resguardo, nos aparecerá una ventana como la siguiente, donde dicha ventana contempla las opciones que tenemos disponibles en línea de comandos [pDmp07]:

Fig 5. Opciones para efectuar el Resguardo. Ahora simplemente seleccionamos las opciones de resguardo que necesitemos, el formato de compresión, y la ruta donde dejaremos el resguardo y listo

Opción de Resguardo.

Page 6: PgDump_pgRestore_en_pgAdmin_RCGF

Página 6 de 12

Fig 6. Cuadro Dialogo para seleccionar nombre y ruta del Resguardo.

Ya tenemos el resguardo de nuestra Base de Datos, solo hay que oprimir el Botón Hecho, para regresar a la interfaz principal de pgAdminIII.

Fig 6.Mensajes del proceso de resguardo. Teniendo el resguardo, ya en una unidad extraíble o nuestro disco duro ahora necesitamos saber como obtener los datos del resguardo para cargarlos en otro servidor y recuperar nuestra Base.

Page 7: PgDump_pgRestore_en_pgAdmin_RCGF

Página 7 de 12

Paso 6, Eliminando la Base. Utilizaremos este paso para cargarla en el mismo servidor, y observar como restaurar la Base de Datos completa con pgAmin, aunque también lo puedes hacer en línea de comandos con la herramienta pg_restore. Para eliminar la base ejecutamos la sentencia DROP, o simplemente damos clic derecho en pgAdmin y escogemos la opción eliminar. DROP DATABASE "Tutorial"; Paso 7, Creando la Base destino. Creamos la Base de Datos donde volcaremos nuestro dump, es decir, donde restauraremos la estructura de la base TUTORIAL, a esta base le llamaremos TUT_RESTAURADO. Con esto creamos un esquema “vacío” donde no existe nuestra tabla tutorial.

Fig 7. Vista del esquema de la Base TUT_RESTAURADO, antes de la restauración.

Como podemos observar en la figura 7 no tenemos aún la tabla Tutorial. Paso 8, Restauración. Por ultimo damos clic derecho en el ícono de nuestra base de datos, tal como le hicimos al seleccionar la opción resguardo en el paso 4, y seleccionamos la opción restaurar:

Page 8: PgDump_pgRestore_en_pgAdmin_RCGF

Página 8 de 12

Fig 8. Menú Contextual de Base de Datos en pgAdmin III (restaurar). Al igual que con la opción resguardo nos aparece una ventana con distintas opciones para llevas a cabo la restauración es tarea individual investigar cada una de las opciones y como más convengan según sea el caso[pRst07]

.

Fig 9. Opciones para efectuar la restauración.

Dentro de esta pantalla solo seleccionamos el archivo que creamos con la opción de resguardo (pg_dump).

Opción de Restaurar.

Page 9: PgDump_pgRestore_en_pgAdmin_RCGF

Página 9 de 12

Fig 10. Cuadro Dialogo para seleccionar nombre y ruta del archivo a Restaurar. Aceptamos y se muestran los resultados del proceso, solo oprimimos Hecho, y regresamos a la pantalla principal del pgAdmin III.

Fig 11. Mensajes del proceso de restauracion.

Page 10: PgDump_pgRestore_en_pgAdmin_RCGF

Página 10 de 12

Ahora ya tenemos la tabla Tutorial dentro de la Base TUT_RESTAURADO, con todo y datos.

Fig 12. Vista pgAdmin de Datos Restaurados.

Page 11: PgDump_pgRestore_en_pgAdmin_RCGF

Página 11 de 12

Conclusión. Con este pequeño tutorial se puede observar que muchas veces nos podemos tardar mucho tiempo averiguando cada opción de algún comando buscando en internet, a prueba y error, o con el famoso HELP en línea de comandos, yo propongo que averigüemos lo que muchas herramientas proporcionan, obviamente muchas veces las herramientas no solucionan todos los problemas y en esos casos si será necesaris “hecharse un clavado” a la documentación o inclusive al código fuente (si tienes acceso a él), y siempre utilizar las herramientas con un objetivo común e imaginandose el verdadero proceso que se efectúa detrás de nuestra interfaz gráfica, para que en el momento de que haya problemas tengamos noción de cómo resolverlo ”a manita”. Espero les sea de ayuda, a muchos que inician, y hasta los que ya están acostumbrados al trabajo en Terminal (me anexo a está categoría).

Page 12: PgDump_pgRestore_en_pgAdmin_RCGF

Página 12 de 12

Referencias: [pDmp07] http://manuales.gfc.edu.co/postgres/es/app-pgdump.html Página donde se explica la sintaxis del comando pg_dump. Ultima Consulta: 17/Feb/2007, 2:34 [pRst07] http://www.phpfreaks.com/postgresqlmanual/page/app-pgrestore.html Página donde se explica la sintaxis del comando pg_restore. Ultima Consulta: 17/Feb/2007, 2:34 Nota de Derechos Reservados: • PgAdmin III y las imágenes obtenidas del cliente están basadas en la licencia que se

explica en la siguiente url: http://www.pgadmin.org/licence.php. • PostgreSQL a pesar de ser gratuito se encuentra reservado por PostgreSQL Global

Development Group. • Los sistemas operativos y las marcas enunciadas como Windows™ XP™, son

propiedad de Microsoft Corporation. • El sistema operativo Solaris™ es propiedad de Sun MicroSystems, INC.