Complementa SQL y PL/pgSQL El curso enseña a usar PL/Python donde realmente aporta valor, evitando convertirlo en sustituto indiscriminado de SQL, PL/pgSQL o servicios externos.
1
Refuerza seguridad y gobierno Incluye el modelo untrusted, permisos, revisión de código, dependencias, imports, datos sensibles, auditoría y criterios para entornos corporativos.
Personaliza el temario al 100% para tu equipo
Diseñamos una formación a medida utilizando los documentos y flujos de trabajo reales de tu empresa.
Nueva Plataforma de E-learningFormación en directo con plataforma de apoyo para reforzar el aprendizaje
Acceso a las grabaciones
Los alumnos podrán revisar las sesiones grabadas para repasar conceptos clave, recuperar explicaciones concretas o reforzar aquellos contenidos que necesiten después de la clase en directo.
Recursos formativos
Materiales, sesiones grabadas y documentación de apoyo quedan centralizados en la plataforma para que el equipo pueda consultarlos durante y después de la formación.
Confirmación de asistencia
La plataforma permite registrar y confirmar la asistencia de los participantes, facilitando el seguimiento de la formación y la gestión documental necesaria para la bonificación FUNDAE.
Programa formativo
Temario del curso
Encuentra todo el temario del curso aquí.
Temario
Comprender qué es PL/Python y por qué PostgreSQL permite escribir funciones y procedimientos en Python.
Diferenciar SQL, PL/pgSQL, PL/Python, funciones C, extensiones y lógica ejecutada fuera de la base de datos.
Identificar escenarios donde PL/Python aporta valor: parsing, validación, cálculo, transformación, JSON y lógica compleja.
Reconocer escenarios donde PL/Python no debería usarse: lógica de negocio excesiva, llamadas externas no controladas o tareas masivas lentas.
Entender la diferencia entre acercar lógica al dato y convertir la base de datos en un backend completo.
Analizar riesgos de rendimiento, bloqueo, seguridad, mantenimiento y observabilidad.
Situar PL/Python dentro de arquitecturas backend, data engineering, BI, MLOps y automatización interna.
Comparar PL/Python con ejecutar Python desde una API o proceso ETL externo.
Definir criterios de decisión para aprobar o rechazar una función PL/Python.
Preparar el caso base del curso: funciones, triggers y procesamiento avanzado sobre datos corporativos simulados.
Comprender qué es PL/Python y por qué PostgreSQL permite escribir funciones y procedimientos en Python.
Diferenciar SQL, PL/pgSQL, PL/Python, funciones C, extensiones y lógica ejecutada fuera de la base de datos.
Identificar escenarios donde PL/Python aporta valor: parsing, validación, cálculo, transformación, JSON y lógica compleja.
Reconocer escenarios donde PL/Python no debería usarse: lógica de negocio excesiva, llamadas externas no controladas o tareas masivas lentas.
Entender la diferencia entre acercar lógica al dato y convertir la base de datos en un backend completo.
Analizar riesgos de rendimiento, bloqueo, seguridad, mantenimiento y observabilidad.
Situar PL/Python dentro de arquitecturas backend, data engineering, BI, MLOps y automatización interna.
Comparar PL/Python con ejecutar Python desde una API o proceso ETL externo.
Definir criterios de decisión para aprobar o rechazar una función PL/Python.
Preparar el caso base del curso: funciones, triggers y procesamiento avanzado sobre datos corporativos simulados.
Validar triggers con operaciones INSERT, UPDATE, DELETE y escenarios de rollback.
Usar pgTAP, pytest, contenedores o scripts SQL según el entorno del equipo.
Comparar resultados esperados frente a outputs reales en CI/CD.
Evitar desplegar funciones PL/Python sin pruebas de regresión.
Crear tests de seguridad para permisos y uso de roles.
Medir cobertura funcional de reglas críticas.
Realizar ejercicio de suite de pruebas para funciones y triggers PL/Python.
Tema 24: Versionado, migraciones y despliegue
Organizar funciones PL/Python en archivos SQL versionados.
Integrar cambios con herramientas de migración como Flyway, Liquibase, Sqitch o migraciones propias.
Separar esquemas de código, datos, auditoría y pruebas.
Crear scripts idempotentes cuando el flujo de despliegue lo requiere.
Gestionar cambios de firma, tipos de retorno y dependencias entre funciones.
Preparar rollback cuando una función nueva falla en producción.
Documentar releases de funciones, triggers y extensiones.
Evitar editar funciones manualmente en producción sin trazabilidad.
Integrar despliegue con revisión de DBA y seguridad.
Realizar ejercicio de migración controlada de funciones PL/Python entre versiones.
Tema 25: CI/CD, Docker y entornos reproducibles
Crear imagen Docker de PostgreSQL con PL/Python habilitado.
Instalar dependencias Python autorizadas dentro del contenedor de laboratorio.
Levantar base de datos, extensión, esquemas, datos y funciones con Docker Compose.
Ejecutar tests automáticos en pipeline CI/CD.
Validar que la extensión y dependencias existen antes de aplicar migraciones.
Separar configuración de desarrollo, test y producción.
Gestionar secretos mediante variables y mecanismos seguros del pipeline.
Evitar pipelines que dependen de un servidor compartido no reproducible.
Publicar artefactos SQL, reportes de tests y documentación técnica.
Realizar ejercicio de pipeline CI/CD para funciones PL/Python.
Tema 26: Observabilidad, logging y auditoría operativa
Diseñar logs útiles para funciones críticas sin saturar el servidor.
Usar mensajes PostgreSQL y tablas de auditoría con criterio.
Registrar errores de negocio, errores técnicos, tiempos de ejecución y registros rechazados.
Medir uso de funciones, frecuencia de error y consultas más costosas.
Integrar logs PostgreSQL con observabilidad corporativa cuando procede.
Crear métricas de calidad de datos generadas por funciones PL/Python.
Evitar logging de datos personales o sensibles sin necesidad.
Diseñar trazabilidad entre aplicación, usuario, transacción y función ejecutada.
Crear runbooks para investigar fallos de funciones y triggers.
Realizar ejercicio de observabilidad sobre proceso PL/Python con auditoría.
Tema 27: Gobierno, estándares y revisión de código
Crear estándar corporativo para funciones PL/Python.
Definir cuándo se permite PL/Python y cuándo debe usarse SQL, PL/pgSQL o backend externo.
Establecer plantilla de documentación para función, parámetros, retorno, seguridad y pruebas.
Crear checklist de revisión para imports, SPI, errores, permisos, rendimiento y transacciones.
Definir owners de funciones, triggers y procedimientos.
Clasificar funciones por criticidad y datos tratados.
Crear catálogo de funciones PL/Python con dependencias y estado de mantenimiento.
Revisar periódicamente funciones no usadas, peligrosas o con bajo rendimiento.
Evitar proliferación de lógica Python sin arquitectura ni owner.
Realizar ejercicio de definición de estándar PL/Python para equipo de datos.
Tema 28: Troubleshooting y errores habituales
Diagnosticar errores de extensión no instalada o lenguaje no disponible.
Resolver problemas de permisos al crear funciones PL/Python.
Detectar errores por tipos de retorno incompatibles.
Corregir problemas de `None`, `NULL`, arrays vacíos y estructuras JSON inesperadas.
Investigar imports fallidos por dependencias no instaladas en el servidor.
Depurar funciones que funcionan en Python externo pero fallan dentro de PostgreSQL.
Identificar triggers que se ejecutan demasiadas veces o en momentos incorrectos.
Resolver problemas de rendimiento por bucles, SPI repetitivo o procesamiento fila a fila.
Crear checklist de diagnóstico antes de escalar al DBA o equipo de plataforma.
Realizar ejercicio de reparación de funciones PL/Python con fallos provocados.
Tema 29: Casos de uso corporativos de PL/Python
Diseñar validación avanzada de datos maestros antes de inserción.
Crear normalización de campos complejos para CRM, ERP, reporting o integración.
Implementar scoring interno de registros con reglas de negocio documentadas.
Procesar JSONB procedente de APIs, formularios o eventos.
Crear triggers de auditoría enriquecida en tablas críticas.
Generar datos derivados para procesos analíticos o reporting técnico.
Apoyar procesos de migración, limpieza y conciliación de datos.
Crear funciones auxiliares para algoritmos internos que SQL expresa con dificultad.
Evaluar cada caso frente a alternativas externas más seguras o escalables.
Realizar ejercicio de selección de casos viables y no viables para PL/Python.
Tema 30: Proyecto Final
Diseñar una solución PostgreSQL con PL/Python para validación, normalización, auditoría y procesamiento avanzado.
Crear entorno Docker reproducible con PostgreSQL, PL/Python, esquemas, datos de prueba y scripts de inicialización.
Instalar y habilitar `plpython3u` en una base de datos de laboratorio.
Crear roles, permisos y esquema dedicado para funciones PL/Python.
Diseñar tablas de negocio, tabla de auditoría, tabla de errores y dataset de pruebas.
Implementar funciones escalares para normalización de texto, códigos, identificadores o direcciones.
Implementar función sobre JSONB para validar payloads y extraer campos estructurados.
Implementar función set-returning para transformar datos semiestructurados en filas relacionales.
Usar SPI para consultar tablas auxiliares y aplicar reglas de negocio parametrizadas.
Crear plan preparado con parámetros para una operación repetida.
Implementar trigger `BEFORE` para validar y modificar datos antes de insertarlos.
Implementar trigger `AFTER` para auditoría controlada de cambios relevantes.
Añadir gestión de errores, mensajes útiles y registro de incidencias por registro.
Usar subtransacciones cuando el caso requiera recuperación parcial.
Crear tests unitarios e integración para funciones, triggers y casos límite.
Medir rendimiento con `EXPLAIN ANALYZE` y optimizar las funciones más costosas.
Preparar scripts de migración versionados para desplegar funciones y triggers.
Integrar ejecución de tests en pipeline CI/CD o script automatizado local.
Documentar seguridad, permisos, dependencias, riesgos, runbook y criterios de mantenimiento.
Presentar la solución final defendiendo arquitectura, seguridad, rendimiento, trazabilidad y valor para negocio.
Perfiles profesionales
Pensado para quienes deben dominar PL/Python en su día a día
Desarrolladores backend y full stack
Este curso encaja con desarrolladores que trabajan con PostgreSQL y necesitan implementar lógica avanzada cerca de la base de datos. Aprenderán a crear funciones PL/Python seguras, reutilizables y bien integradas con APIs, servicios backend y procesos internos.
Administradores PostgreSQL y DBAs
Los DBAs podrán evaluar cuándo permitir PL/Python, cómo instalarlo, cómo restringir su uso, cómo revisar funciones, cómo monitorizar rendimiento y cómo evitar que un lenguaje untrusted introduzca riesgos innecesarios.
Data engineers y perfiles de datos
Preguntas frecuentes
Resolvemos todas tus dudas sobre nuestra formación en PL/Python
Explora las respuestas a las preguntas que guian a nuestra comunidad. Aqui encontraras claridad sobre como funciona todo, desde el acceso hasta los detalles de los cursos. Si buscas respuestas, este es el lugar para comenzar.
PL/Python es un lenguaje procedural de PostgreSQL que permite escribir funciones y procedimientos usando Python dentro de la base de datos.
Es la variante de PL/Python basada en Python 3. La `u` indica que es un lenguaje untrusted, con implicaciones importantes de seguridad.
Puede usarse de forma segura si se gobierna bien, pero requiere permisos controlados, revisión de código, restricciones claras y entornos adecuados.
Normalmente solo roles técnicos autorizados, DBAs o procesos de despliegue controlados. No debería permitirse a usuarios de aplicación sin revisión.
No. PL/pgSQL sigue siendo la opción natural para mucha lógica SQL. PL/Python conviene cuando Python aporta una ventaja clara.
Técnicamente puede ser posible si están instaladas en el servidor, pero debe controlarse por seguridad, compatibilidad, rendimiento y mantenimiento.
Sí. El curso incluye triggers `BEFORE`, `AFTER`, `ROW`, `STATEMENT`, uso de `TD`, auditoría, validación y modificación de filas.
Sí. Se usa SPI mediante `plpy.execute`, `plpy.prepare` y planes parametrizados para ejecutar SQL desde funciones PL/Python.
Sí. El curso incluye validación, extracción, normalización y transformación de JSONB usando Python dentro de PostgreSQL.
Puede usarse para scoring o lógica auxiliar, pero los modelos pesados suelen encajar mejor en servicios externos o pipelines especializados.
Sí. Ejecutar Python por fila o dentro de triggers críticos puede ser costoso. El curso enseña a medir, optimizar y decidir cuándo evitarlo.
Sí. Se crea un entorno reproducible con PostgreSQL, PL/Python, scripts, datos de prueba y automatización.
Sí. Se trabajan migraciones, tests, scripts SQL, contenedores y validación automatizada antes de desplegar funciones.
Sí, pero con controles. El curso está orientado a producción, seguridad, revisión, observabilidad, permisos y mantenimiento.
Una solución PostgreSQL con PL/Python que incluye funciones, triggers, SPI, validaciones, auditoría, tests, Docker, migraciones y documentación.
Sí. Puede adaptarse a datos anonimizados de CRM, ERP, BI, APIs, JSONB, migraciones, auditoría, scoring, limpieza o integración interna.
Sí, esta formación puede ser bonificable hasta el 100% a través de FUNDAE, siempre que la empresa disponga de crédito formativo suficiente y se cumplan los requisitos de comunicación, asistencia y documentación exigidos.
Es la variante de PL/Python basada en Python 3. La `u` indica que es un lenguaje untrusted, con implicaciones importantes de seguridad.
Puede usarse de forma segura si se gobierna bien, pero requiere permisos controlados, revisión de código, restricciones claras y entornos adecuados.
Normalmente solo roles técnicos autorizados, DBAs o procesos de despliegue controlados. No debería permitirse a usuarios de aplicación sin revisión.
No. PL/pgSQL sigue siendo la opción natural para mucha lógica SQL. PL/Python conviene cuando Python aporta una ventaja clara.
Técnicamente puede ser posible si están instaladas en el servidor, pero debe controlarse por seguridad, compatibilidad, rendimiento y mantenimiento.
Sí. El curso incluye triggers `BEFORE`, `AFTER`, `ROW`, `STATEMENT`, uso de `TD`, auditoría, validación y modificación de filas.
Sí. Se usa SPI mediante `plpy.execute`, `plpy.prepare` y planes parametrizados para ejecutar SQL desde funciones PL/Python.
Sí. El curso incluye validación, extracción, normalización y transformación de JSONB usando Python dentro de PostgreSQL.
Puede usarse para scoring o lógica auxiliar, pero los modelos pesados suelen encajar mejor en servicios externos o pipelines especializados.
Sí. Ejecutar Python por fila o dentro de triggers críticos puede ser costoso. El curso enseña a medir, optimizar y decidir cuándo evitarlo.
Sí. Se crea un entorno reproducible con PostgreSQL, PL/Python, scripts, datos de prueba y automatización.
Sí. Se trabajan migraciones, tests, scripts SQL, contenedores y validación automatizada antes de desplegar funciones.
Sí, pero con controles. El curso está orientado a producción, seguridad, revisión, observabilidad, permisos y mantenimiento.
Una solución PostgreSQL con PL/Python que incluye funciones, triggers, SPI, validaciones, auditoría, tests, Docker, migraciones y documentación.
Sí. Puede adaptarse a datos anonimizados de CRM, ERP, BI, APIs, JSONB, migraciones, auditoría, scoring, limpieza o integración interna.
Sí, esta formación puede ser bonificable hasta el 100% a través de FUNDAE, siempre que la empresa disponga de crédito formativo suficiente y se cumplan los requisitos de comunicación, asistencia y documentación exigidos.
Diseñemos hoy el curso que tu empresa necesita
Cuéntanos tus objetivos de negocio y prepararemos una propuesta formativa bonificable totalmente ad hoc
Prepara funciones mantenibles La formación trabaja documentación, estándares, versionado, testing, migraciones, CI/CD, Docker, observabilidad y troubleshooting.
3
Permite trabajar con datos complejos PL/Python resulta útil para estructuras JSONB, arrays, texto irregular, reglas avanzadas, cálculos específicos y procesos que serían muy difíciles en SQL puro.
4
Mejora la integración entre equipos DBAs, backend, data engineers y arquitectos comparten criterios para decidir, revisar, desplegar y mantener funciones PL/Python.
5
Genera entregables reales El Proyecto Final produce una solución completa con funciones, triggers, SPI, auditoría, tests, Docker, migraciones, seguridad y documentación técnica.
Después de la formación en directo, los alumnos podrán acceder a ejercicios prácticos para aplicar lo trabajado en clase y consolidar el aprendizaje con actividades guiadas.
Acceso a las grabaciones
Los alumnos podrán revisar las sesiones grabadas para repasar conceptos clave, recuperar explicaciones concretas o reforzar aquellos contenidos que necesiten después de la clase en directo.
Recursos formativos
Materiales, sesiones grabadas y documentación de apoyo quedan centralizados en la plataforma para que el equipo pueda consultarlos durante y después de la formación.
Confirmación de asistencia
La plataforma permite registrar y confirmar la asistencia de los participantes, facilitando el seguimiento de la formación y la gestión documental necesaria para la bonificación FUNDAE.
Ejercicios prácticos
Después de la formación en directo, los alumnos podrán acceder a ejercicios prácticos para aplicar lo trabajado en clase y consolidar el aprendizaje con actividades guiadas.
Practica y mejora con nuestra plataforma
Una plataforma practica, con IA integrada y pensada para que mejores desarrollando. Se adapta a tu ritmo, te corrige al instante y te muestra tu progreso real.
Correccion magica
Feedback inteligente
Aprende de cada acierto y fallo con explicaciones claras
Los perfiles de datos podrán usar PL/Python para transformar, validar, enriquecer y procesar información dentro de PostgreSQL, especialmente cuando SQL puro resulta limitado o demasiado complejo para ciertas tareas.
Arquitectos de datos y software
Los arquitectos podrán decidir cuándo conviene ejecutar lógica en la base de datos, cuándo llevarla al backend y cómo diseñar una arquitectura equilibrada con PostgreSQL, Python, seguridad y mantenibilidad.
Equipos de BI, analítica y reporting técnico
Los equipos de analítica podrán crear funciones específicas para limpieza, cálculo, scoring, parsing, normalización y preparación de datos antes de explotación en informes, cuadros de mando o pipelines.
Equipos DevOps, plataforma y seguridad
Los perfiles de plataforma y seguridad podrán preparar entornos PostgreSQL con PL/Python, contenedores, extensiones, control de dependencias, despliegue, backup, logging, auditoría y revisión de permisos.