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

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

Probando dump_fdw

Hola amigos de unas de las cosas que más soy FAN en PostgreSQL es de los FDW, la funcionalidad maravillosa que permite leer y “escribir” en fuentes externas a PostgreSQL, existen algunas como mysql, oracle, sql server entre otras, una lista mayor y más completa puede verla aquí. En lo personal he utilizado la de mysql y funciona excelente.

Recién estuve leyendo un FDW nuevo llamado: dump_fdw, y lo que hace es leer información de los archivos de salvas o backups generado por pg_dump en formato custom, es decir podemos acceder a una tabla que se le realizó un backup hace un tiempo y poder obtener dicho valor, es decir muy útil para rectificar o ver los valores que tuvo determinada tupla o fila hace en un momento de tiempo (cuando se hizo el backup).

¿Cómo funciona?. Bueno similar a los demás FDW, se crea la extensión, el server, y la tabla con sus respectivas opciones, en este caso no es necesario un map user, veamos mas acción descargándolo de aquí:

 

Antes que todo hago una salva de la bases de datos:

pg_dump –host localhost –port 5432 –username “postgres” –no-password  –format custom –blobs –verbose –file “/tmp/dell_salva.dmp” “dell” Sigue leyendo

Jugando con GraphpostgresQL

Hola amigos, hace unos días leí sobre GraphpostgresQL, la cual está inspirada en graphql de Facebook y puede ser útil para buscar relaciones entre una tabla y otras, pasando como parámetros la llave primaria de la una tabla, es decir dado un id de la tabla A me devuelve la relación que tiene ese id en la tabla B u otras tablas. Hasta ahora nada nodevodoso, lo que me gusta es que lo devuelve en formato JSON :D, y puede ser utilizado en llamada AJAX, aplicaciones RESTful, web service, etc, es decir un servicio que dado un paramétro(id) me devuelve las relaciones que tiene con otros objetos,

La extensión trabaja con llaves primaria , foráneas , LATERAL JOIN y JSON, puede ser descargada de aquí.
Luego de una presentación de la misma, les muestro mi experiencia jugando con esta extensión, no quiere decir que sea una solución final para todo, pero cada cual puede ajustarla a las necesidades que tenga, algo del Software Libre :D, :

Utilicé la base de datos Dell Store 2(http://pgfoundry.org/frs/?group_id=1000150):

1. Agrego las funciones de GraphpostgresQL.
psql -U postgres -h localhost -d dell -f graphql.sql

2. Me creo una función relacion_customer_orders(id), siguiendo el demo que colocan en el sitio con un código similar a: Sigue leyendo