Instalar el depurador de Postgresql en Debian / Ubuntu

Es una tarea que tenía pendiente desde hace tiempo, pero después de que mi amigo Pablo me comentara que lo había compilado en su Freidora Fedora y que funcionaba bastante bien me decidí a ponerlo.

 

Para poder depurar código en Postgresql hay que instalar una extensión en el servidor.  El problema es que esta extensión viene en forma de código fuente que hay que compilar, y para poder compilarlo necesitamos hacerlo contra el código de Postgresql, así que lo primero que hay que hacer es instalar el paquete postgresql-server-dev-8.4 (en mi caso 8.4 porque es la versión soportada por Openbravo 2.50).

 

Se suponía que con este paquete era suficiente ya que trae todos los archivos de cabecera necesario para compilar las extensiones de Postgresql, pero la verdad es que a mi no me funcionó, seguramente porque el código de la extensión espera encontrarse los fuentes de Postgresql en el formato que tiene cuando lo descargamos desde su página web. Lo que hice entonces fué descargame el código fuente desde la página de  Postgresql.

 

Primero tenemos que saber qué versión de Postgresql estamos ejecutando. Podemos verlo por ejemplo desde el gestor de paquetes.

dpkg -l | grep postgresql-8.4
ii  postgresql-8.4     8.4.9-0ubuntu0.11.04     object-relational SQL …

 

Ahora tenemos que descargar dicha versión.

 

wget http://ftp.postgresql.org/pub/source/v8.4.9/postgresql-8.4.9.tar.bz2

 

Descomprimimos y desempaquetamos.

 

tar xvfj postgresql-8.4.9.tar.bz2

 

Ahora tenemos que ejecutar el configure, pero para saber las opciones con las que se compiló nuestro servidor de postgres en ejecución podemos apoyarnos en la orden pg_config.

 

pg_config –configure | ./configure

 

Luego compilamos con make y ya tenemos el código de Postgresql preparado para compilar nuestra extensión.

 

Nota: No he indicado las librerias de desarrollo necesarias para compilar Postgres porque dependerá de vuestra instalación.

 

El siguiente paso es descargar el código de la extensión y copiarlo al directorio contrib. El problema es que la última versión disponible no compila correctamente pero si la última versión del cvs, así que utilizaremos esta última.

 

cd contrib

cvs -d :pserver:anonymous@cvs.pgfoundry.org:/cvsroot/edb-debugger login
cvs -d :pserver:anonymous@cvs.pgfoundry.org:/cvsroot/edb-debugger checkout server

 

Actualización: Ahora el proyecto está en un repositorio git.

http://git.postgresql.org/gitweb/?p=pldebugger.git;a=summary

 

Esto nos generará un directorio que se llama server, entramos en él y hacemos make.

 

cd server

make

 

Si todo ha ido bien ya tenemos la extensión compilada, ahora sólo nos queda hacer un make install como root.

 

Nos quedan dos cositas para que la extensión funcione, la primera es cargarla en el arranque de  Postgresql. Editamos el archivo postgresql.conf de nuestro servidor y añadimos la siguiente linea.

 

shared_preload_libraries = ‘/usr/lib/postgresql/plugins/plugin_debugger’

 

Nota: la ruta puede cambiar dependiendo de la instalación.

La segunda cosa que hay que hacer es abrir pgadmin y ejecutar el script sql que encontraremos en el archivo pldbgapi.sql del código de la extensión. Pero antes deberemos substituir cada aparición de $libdir por «/usr/lib/postgresql» para que funcione.

 

El depurador es un poco limitado pero nos permite hacer cosas chulas como la siguiente.

 

 

Ahora ya podéis depurar vuestro código.

 

Cheli

Ubuntu en todas partes

La idea es la siguiente, tienes un teléfono móvil de última generación que posee la potencia de varios núcleos, 1GB de RAM, y suficiente espacio en memoria microSD. ¿Por qué no utilizar esa potencia de cálculo para algo más que un teléfono?, ¿qué tal si llegas a casa, enchufas tu teléfono a la tele y se convierte en tu Media Center?, ¿y si lo enchufas a un monitor, teclado y ratón y pasa a ser tu escritorio?, con la ventaja de no tener que estar sincronizando datos de aquí para allá. Pues eso es Ubuntu para Android.

Cheli

Entrevista a Jono Bacon, gestor de comunidad de Ubuntu

En el podcast Pánico en el Núcleo han hecho una entrevista a Jono Bacon. La verdad es que es gracioso porque llevaban varios podcast haciendo gracietas imitándole y haciendo como que le hacían entrevistas, y ahora va y hacen una de verdad. La entrevista es muy interesante ya que tratan temas como si algún día Ubuntu llevará Wayland, la calidad de los diferentes sabores de Ubuntu, cómo será Ubuntu 12.04 o que pasará con Unity y Unity 2d.

Para ir a la entrevista directamente debéis descargaros el programa 2×10 e ir al minuto 23:16.

 

Cheli

Ubuntu también está en todas partes

De nuevo en Cuzco (Perú) me encontré con un cartel en el que indicaban el camino al Ubuntu internet lounge cafe.

 

Unos días después tuve la oportunidad de pasar por la puera, pero lo cierto es que no llegué a entrar, iba acompañado y teníamos otros planes.

Había oido hablar mucho de este tipo de cibercafés que utilizan Gnu/Linux pero la verdad es que nunca los había visto, la casualidad hizo que lo viera en Perú.

Cheli