¿Qué idioma usas para los desencadenadores PostgreSQL y los procedimientos almacenados?

votos
17

PostgreSQL es interesante porque admite varios lenguajes para escribir procedimientos almacenados. ¿Cuál usas y por qué?

Publicado el 05/08/2008 a las 07:39
fuente por usuario
En otros idiomas...                            


9 respuestas

votos
6

Realmente solo he usado PL / pgSQL, pero eso fue porque necesitaba algunos procedimientos almacenados relativamente rápido y no quería agregar módulos adicionales al servidor.

A más largo plazo, probablemente usaría PL / Perl o PL / Python, ya que uso Perl para secuencias de comandos rápidas y he estado buscando en python por un tiempo.

Una cosa que he encontrado es que falta una buena documentación para eso en el sitio de PostgreSQL. Los manuales fueron minuciosos como referencia, pero no funcionaron bien como un tutorial para ayudar a mostrar a las personas cómo se debe hacer.

Eso, combinado con un muy buen entorno de depuración, significaba que mi primera experiencia en la escritura de procedimientos implicaba buscar errores de sintaxis extraños durante mucho tiempo.

Si alguien sabe de un buen sitio con tutoriales, etc. para la programación de PostgreSQL, me gustaría obtener un enlace a él.

Respondida el 06/08/2008 a las 15:26
fuente por usuario

votos
5

Escribo prácticamente todo en plpgsql, pero también soy un tipo de base de datos, por lo que en general me conviene más que en cualquier otro idioma. Pero hay muchas cosas que no funciona muy bien, en cuyo caso otro lenguaje como plperl o plpython es una buena apuesta. Por supuesto, si la velocidad es una preocupación seria, C es el camino a seguir.

Respondida el 16/09/2008 a las 06:43
fuente por usuario

votos
4

Skype usa PostgreSQL junto con Python, y han mejorado PL / Python a su estado actual, por lo que dudaría que el soporte de Python esté muy por detrás de Perl. Después de todo, han escrito un sistema de cola / replicación encima de esas vinculaciones :-)

Echa un vistazo: Wiki Skytools

A partir de una rápida revisión de la documentación, Python parece tener menos documentación que las vinculaciones de Perl, pero sugiero que solo se ajuste al idioma con el que se sienta más cómodo.

Respondida el 12/09/2008 a las 16:39
fuente por usuario

votos
4

Cuando escribí mi primer desencadenador, estaba en Perl porque ese era el lenguaje utilizado en el ejemplo que encontré, pero los últimos activadores que escribí estaban en Python porque estoy más cómodo con eso.

Creo que la comodidad del programador es mi principal razón para elegir Python, pero creo que Perl aún está mejor respaldado.

Respondida el 05/08/2008 a las 07:43
fuente por usuario

votos
3

Yo uso PL / Perl porque:

  • Me gusta Perl
  • Es un lenguaje dinámico, lo que significa que puede hacer algunos trucos útiles, es decir, pasar un nombre de columna a una función de desencadenador y realizar algunas acciones con el valor de esta columna en una tupla desencadenante.
  • Tiene una documentación bastante buena
Respondida el 05/09/2009 a las 05:01
fuente por usuario

votos
3

Yo uso PL / pgSQL para casi todo, y si hay algo que no puede hacer, escribo funciones en PL / Python (lo cual me gusta). También puede usar PL / Java, PL / Perl, PL / PHP.

Diría que Python es probablemente el mejor de todos porque Python está en casi todos los sistemas de Linux. Perl estaría en segundo lugar con Python superando la sintaxis de lectura más fácil.

Respondida el 22/09/2008 a las 06:51
fuente por usuario

votos
3

PL / Ruby porque uso Ruby todos los días de todos modos.

Respondida el 18/09/2008 a las 15:54
fuente por usuario

votos
3

Para cualquier cosa realmente pequeña / simple o que no requiera mucha manipulación de cadenas o lógica, uso plpgsql, porque es rápido. Para cosas más complejas, uso plperl, porque me gusta.

Respondida el 16/09/2008 a las 23:00
fuente por usuario

votos
0

Yo diría que Python es probablemente el mejor de todos porque uno Python es en casi todos los system.Python Linux superando a causa de la sintaxis de lectura fácil

Respondida el 01/06/2018 a las 05:22
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more