Depurador para postgresql y pgadmin actualizado

El año pasado escribí como instalé el depurador de postgresql para poder depurar unos procedimientos almacenados en un trabajo que estaba realizando, puedes ver el articulo aquí.

Luego de unas preguntas en ese articulo decidí revisar el procedimiento con el software actualizado. Para esto usé Ubuntu 13.04, PostgreSQL 9.1.10, PgAdmin III 1.16.1.

Para comenzar el proceso es casi idéntico. La diferencia está en que en vez de CVS, el proyecto de PgFoundry fue movido a Git, lo que quiere decir que debes tener Git instalado en tu maquina.

  • Primero debes saber que versión de postgresql estas corriendo, ya que necesitas descargar el código fuente del postgresql ( si ya no lo tienes) para poder compilar el plugin, esto lo puedes hacer de la siguiente manera en un terminal: dpkg -l | grep postgresql , Esto te mostrara que versión de Postgresql estas corriendo, o también puedes correr psql –version.

terminal psql

  • Vas al sitio ftp de postgresql y ahí buscas la versión que tienes y descargas el código fuente.
  • Descomprimes y desempaquetas.
  • Te ubicas en la carpeta donde descomprimiste el paquete y a configure le vas a pasar los mismos parámetros que ya tienes en tu instalación local, pg_config –configure | ./configure
  • Luego, lo compilas con make, asegúrate de no hacer make install. De seguro necesitaras algunas librerías para hacer la compilación, una de ellas es readline que la puedes ubicar en el synaptic, para mi caso instalé libreadline6 y libreadline6-dev.
  • Ya teniendo configurado el postgresql con código fuente procedemos a descargar el código fuente del plugin, en este caso te ubicas en la carpeta contrib de las fuentes de postgres que acabas de descargar y tipeas lo siguiente:

git clone http://git.postgresql.org/git/pldebugger.git.

  • Te ubicas en la carpeta pldebugger que se creó dentro de contrib y lo compilas con make.
  • Ubicas el archivo generado plugin_debugger.so en la carpeta pldebugger y lo copias a /usr/lib/postgresql/9.1/lib/
  • Ademas ubicas pldbgapi.control en pldebugger y los copias a  /usr/share/postgresql/9.1/extension/
  • Consigues tu archivo de configuración de postgresql, en mi caso está en /etc/postgresql/9.1/main/postgresql.conf
  • Ahí vas a modificar la linea que dice shared_preload_libraries = ‘ ‘  por shared_preload_libraries = ‘$libdir/plugin_debugger’
  • Reinicias el servidor de PostgreSQL
  • Ahora lo que queda es abrir el pgAdmin y ejecutar ‘CREATE EXTENSION pldbgapi; ‘ en la base de datos que quieras depurar.
  • pldebugger
  • Ya una vez creado e instalado el plugin en pgAdmin, te ubicas en una función que quieras depurar y con el botón derecho te vas a Debugging y le das click a Set breakpoint.
  • Te va a abrir la siguiente pantalla 
  • Ahí esta esperando que se ejecute la función que vas a depurar, una vez que dicha función se ejecute la podrás ver y utilizar las funcionalidades del depurador, como ver el valor de las variables, entrar a funciones, etc..
  • Espero te sirva estas instrucciones, y empieces a depurar tus procedimientos almacenados en postgresql.

 

You may also like...