Tercera edición del libro PL/pgSQL y otros lenguajes Procedurales en PostgreSQL

Me complace comentarles que ya está publicada la tercera edición  del libro PL/pgSQL y otros lenguajes Procedurales en PostgreSQL, disponible en LULU . Orientado a DBA y programadores además de estudiantes de carreras alienada con la informática que utilicen el motor de base de datos PostgreSQL. El libro  les puede ayudar en la Programación dentro del motor de base de datos PostgreSQL en lenguajes Procedurales, funciones en SQL, PLpgSQL, PLpython, PLR. Variados Ejemplos. En esta edición esta orientada a la version 11 o superior se le agregan contenidos relacionados con la implementación de procedimientos, bloques anónimos y perfilamiento y analisis de codigo de las funciones y procedimientos, esto último un capítulo para ello solamente, se mantienen ejercicios propuestos con posibles respuestas , lo pueden encargar de aquí.

plpgsql-y-otros-lenguajes-procedurales-en-postgresql.

¿Qué cubre el libro?

Se encuentra dividido en cinco capítulos: Sigue leyendo

pg_recall, extesión para leer datos modificados de una tabla

Hace un tiempo se publicó una entrada que le permitía leer filas “sucias” en PostgreSQL, es decir filas que han sido modificadas o eliminadas sin que se les haya realizado VACCUM a la tabla. Siguiendo con el mismo tema de leer datos de una tabla que han sido modificados, les quiero mostrar una extensión llamada pg_recall realizada y mantenida por Manuel Reithuber, que la misma lo que realiza es llevar un registro de los datos de las tablas en el tiempo, lo que nos permite por  ejemplo, consultar la tabla X hace 5 minutos atrás. Pues  a ver que tal funciona:

Primero la descargamos de aqui 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