Analizar bases de datos Postgresql con Java y ShemaSpy

Postgresql es uno de los manejadores de base de datos de código abierto mas populares hoy en día debido a su gran transaccionalidad, a pesar de sus muchas funcionalidades Posgresql carece de variedad de aplicaciones que nos permitan de una manera amigable realizar análisis de la base de datos como obtener un diagrama entidad relación.

Para ello existe un aplicativo que funciona bajo java llamado ShemaSpy el cual nos genera en unos pocos pasos dicha información, podemos obtener información sobre esta aplicación visitando su pagina web http://schemaspy.sourceforge.net/ 

Ahora veremos como podemos instalar y utilizar dicha aplicación.

Lo primero que debemos hacer es instalar el entorno runtime de Java así como una librería necesaria por la aplicación para generar el diagrama entidad relación de nuestra base de datos.


aptitude install openjdk-7-jre graphviz

Una vez hecho estamos listos para utilizar ShemaSpy, lo primero es obtener la aplicación puedes descargarla en el link al final de este post.

Luego descomprimimos el archivo con

tar -zxvf shemaspy.tar.gz

Esto nos genera 2 archivos schemaSpy_5.0.0.jar postgresql-8.4-701.jdbc3.jar el primero es nuestra aplicación ShemaSpy y el segundo es un driver que necesita para realizar la conexión con nuestra base de datos.

Por ultimo debemos ejecutar el analisis para ello en una terminal nos paramos dentro de la carpeta donde hemos descomprimido nuestra aplicación y ejecutamos la siguiente linea de comandos.

java -jar schemaSpy_5.0.0.jar -t pgsql -db basededatos -s esquema -host host -u usuario -p clave -o directorio_analisis -dp postgresql-8.4-701.jdbc3.jar

Donde sustituimos los valores del ejemplo por los valores de conexión a nuestra base de datos.

Una ves hecho todo esto en la ruta donde especificamos que queremos que realice el análisis creara una serie de paginas html donde a través de un navegador podemos abrir el index.html y visualizar vía web todo el análisis realizado a nuestra base de datos.

 

 

Adjuntos: 

Tags: