Table of Contents
PostgreSQL permite escribir funciones definidas por el usuario en otros lenguajes además de SQL y C. Estos otros lenguajes se denominan de forma genérica lenguajes procedimentales (PL). Para una función escrita en un lenguaje procedimental, el servidor de la base de datos no tiene conocimiento integrado sobre cómo interpretar el texto fuente de la función. En su lugar, la tarea se pasa a un manejador (handler) especial que conoce los detalles del lenguaje. El manejador puede realizar todo el trabajo de análisis (parsing), análisis sintáctico, ejecución, etc., por sí mismo, o bien puede servir de “pegamento” entre PostgreSQL y una implementación existente de un lenguaje de programación. El manejador en sí es una función en lenguaje C compilada en un objeto compartido y cargada bajo demanda, como cualquier otra función en C.
Actualmente hay cuatro lenguajes procedimentales disponibles en la distribución estándar de PostgreSQL: PL/pgSQL (Chapter 41), PL/Tcl (Chapter 42), PL/Perl (Chapter 43) y PL/Python (Chapter 44). Existen otros lenguajes procedimentales disponibles que no están incluidos en la distribución base. En la sección Appendix H encontrarás información sobre cómo encontrarlos. Además, los usuarios pueden definir otros lenguajes; los conceptos básicos para desarrollar un nuevo lenguaje procedimental se tratan en Chapter 57.