Generando código QR desde PostgreSQL

Hace un tiempo atrás publicaron en planeta postgres  una entrada que tenia una extensión que generaba código QR desde PostgreSQL, la cual me dediqué a probar y se puede descargar desde aquí, me resultó fantástica y les dejo como utilizarla.

Una vez descargado lo descomprimimos:


tar -xvf qrcode.tar.bz2

Sigue leyendo

¿Donde esta mi IP desde PostgreSQL?

En esta entrada anterior les mostré un ejemplo de como se pudiera consumir un webservice o algún otro servicio de internet. Un caso útil pudiera ser consumir los servicios de localización de IP que se pueden brindar como lo es freegeoip.net. En este caso no quiero consumir webservice y me encuentro con la extensión http://pgxn.org/dist/geoip, la cual tiene esa información local en el servidor de base de datos.

Sigue leyendo

DIAGRAMA RELACIONAL desde PostgreSQL(Ingeniería Inversa)–parte 2: postgresql_autodoc

En entrada anterior les mostré alguna forma de obtener el Diagrama Relacional de una base de datos PostgreSQL script personalizado , en esta pretendo mostrarle otra, que como las ateriores es muy fácil de utilizar, en este caso se llama  postgresql_autodoc, pues manos a la obra y veamos como se utiliza:

Instalamos la herramienta y sus  dependecias: Sigue leyendo

Haciendo Chequeo a las funciones plpgsql

Hace un tiempo hice una publicación donde explicaban como se podía “profiler” y “debugger” a las funciones plpgsql, lo cual puede ser muy útil, pero incluso con esas funcionalidades se nos puede ir errores de programación dentro de las funciones. Pero que es que es el “Chequeo”, es algo así como un control de las funciones donde te dice posibles errores y sugerencias, que no salieron a la vista pues nunca el camino de tu código tomó por ahí pero sistemáticamente está correcto o no había en tiempo de compilación como verificar un valor o una característica.

Por ejemplo si creamos la función mensaje1: Sigue leyendo

Saber el clima de mi ciudad o pueblo desde PostgreSQL

Hoy desperté con un frió al cual no estoy acostumbrado pues ando radicando fuera del lugar donde me nací y me crié, y quise averiguar como estaba la temperatura en mi “ciudad” o “pueblo”, rápido fui al servicio de  Openweathermap y supe que había un calor aceptable(25 grados celcius) :D. Luego de esto se me ocurrió ver como saber esto mismo pero desde PostgreSQL, y entonces puse manos a la obra.

Para el desarrollo de esto utilicé plpython, el cual me posibilita aprovechar las opciones que me brinda python de desarrollo dentro de PostgreSQL y todo esto gracias a la extensibilidad del gestor :D, si desea conocer un poco de plpython puede ir a la Documentación oficial de PostgreSQL o a la entrada libro PL/pgsql y otros lenguajes de procedulares en PostgreSQL, descargar el libro y leer el Capítulo 4. Para consultar el clima aproveché la API que brinda openweathermap.org, y le pasé los parámetros pertinentes.

Pues comencemos a ver como saber la temperatura de una o varias ciudades: Sigue leyendo

Haciendo Debugger a una función plpgsql

En la entrada anterior les comenté como hacer “Profiler” a una función plpgsql, lo cual puede ser muy beneficioso para conocer picos de trabajo de cada línea de una función plpgsql. En esta les traigo como hacer “Debugger” a dichas funciones, todos seguro hayamos hecho esta actividad en algún lenguaje, y conocemos que no es más que recorrer el código y ver que caminos toma el mismo y que valores tomas las diferentes variables. El “debugger” combinado con el “Profiler” puede ser útil para poner a punto una función plpgsql.

PostgreSQL tiene la forma de hacer debuger también y utilizando una extensión llamada pldebugger y tiene una buena integración con el PgAdmin3, la misma hay que instalarla en el servidor PostgreSQL y reiniciarlo para que tome los cambios que necesitamos, luego en el PgAdmin3 podemos utilizarla. Sigue leyendo

Haciendo Profiler a una función plpgsql

En varias ocasiones nos ha tocado hacer “Profiler”  a algún código que hemos realizado o han realizado otros, pero que es el “Profiler o Profiling”, no es más que es análisis  del comportamiento de un programa  o código,  con el objetivo de averiguar el tiempo dedicado a la ejecución de diferentes partes  para detectar los puntos críticos.

Lo que les traigo acá es una de las maneras de como hacer Profiler en PostgreSQL, no es la única, pero me ha llamado mucho la atención por su sencillez y la utilidad que puede brindar, específicamente en las funciones PLPGSQL, utilizando una extensión llamada plprofiler. Es promocionada y al parecer mantenida por la empresa openscg y publicada en su repositorio, la última actualización de la extensión es de 2015-02-15, y nos brinda una vista que muestra el oid, linea, veces de ejecución, el tiempo total de ejecución y el tiempo  que más se demoró esa línea, si así mismo como menciono, toda esa información. En este momento es posible que dirán  “WOW todo eso puede ser genial, como no lo había visto antes”, :D, pues conocer que sucede en el interior de una función plpgsql puede ser complejo, a no ser por los Raise Notice y algún que otro truco, pero puede resultar torpe pues necesitamos colocar ese código dentro la función para hacer “Profiler” y puede ensuciar el mismo.

PLPROFILER al rescate Sigue leyendo