Re: Funcionamiento de los lenguajes para procedimientos almacenados

From: Arturo Munive <arturomunive(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Postgresql <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Funcionamiento de los lenguajes para procedimientos almacenados
Date: 2007-05-22 13:26:46
Message-ID: 4652EF96.5020804@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Alvaro Herrera escribió:
> Arturo Munive escribió:
>> Hola a todos:
>> &Tengo una duda, mas que un problema.
>> Quisiera saber como es que funcionan los procedimientos almacenados
>> escritos en otros lenguajes que no son plpgsql.
>
> Se carga el interprete del lenguaje y se le entrega el texto de la
> funcion para que la compile y la ejecute.
>
> C es un caso especial: lo que se hace es abrir la biblioteca donde esta
> la funcion, e invocar el "simbolo" de esa funcion (llamando a dlsym).
>
> Java es otro caso mas o menos especial: lo que se hace es levantar una
> JVM, y luego se le entrega el bytecode de la funcion previamente
> compilada.
>
> En los casos de Perl, Python, PHP y otros, lo que se hace es pasarle el
> texto y hacer que el interprete compile y ejecute.
>
>> Es decir si escribo un procedimiento o función en C o en Java , entonces
>> podré utilizar librerías de estos, como se "traducen" dentro de la BD,
>> son mas rápidos o mas lentos (o iguales) a uno escrito e sql, o plpgsql????
>
> Diferentes. Algunas cosas son mas rapidas, otras son mas lentas.
>
>> como asi se compilan por ejemplo el pl de php, hay que tener instalado
>> entonces php como complemento de apache??, o una maquina virtual de Java
>> si es Java el pl???
>
> Las ultimas versiones de PL/php requieren tener el SAPI de PHP "embed"
> (que esta pensado precisamente para estos casos). Versiones anteriores
> usaban el complemento de Apache, pero era feo y hace tiempo que lo
> queriamos cambiar.
Entonces, mas allá de la conveniencia de hacer procedimientos
almacenados en el lenguaje que uno conoce (exceptuando plpqsql) es mas
recomendable hacer estos procedimientos en SQL o plpgsql, o en los otros???
o hay alguna cosa que se pueda hacer ocn uno que no se pueda hacer con
los otros???

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message jlcambero 2007-05-22 14:00:00 Re: Como eliminar bloqueos
Previous Message Sebastián Villalba 2007-05-22 11:56:15 Re: Como eliminar bloqueos