Re: [Pgsql-ayuda] Llamar una funcion

From: Patricio Muñoz <pmunoz(at)cmet(dot)net>
To: "Sergio Valdes" <voig_pgsql(at)entelchile(dot)net>, <pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx>
Subject: Re: [Pgsql-ayuda] Llamar una funcion
Date: 2003-08-01 20:57:27
Message-ID: 008501c3586f$862cc140$0500a8c0@ultra.cmet.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

se me olvidaba que una vez instalado y ejecutar el sql

select * from pg_language;

lanname | lanispl | lanpltrusted | lanplcallfoid | lancompiler
----------+---------+--------------+---------------+-------------
internal | f | f | 0 | n/a
C | f | f | 0 | /bin/cc
sql | f | f | 0 | postgres
plpgsql | t | t | 33654 | PL/pgSQL

si te fijas en la ultima tupla aparece el lenguaje plpgsql instalo...

suerte

----- Original Message -----
From: "Patricio Muñoz" <pmunoz(at)cmet(dot)net>
To: "Sergio Valdes" <voig_pgsql(at)entelchile(dot)net>;
<pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx>
Sent: Friday, August 01, 2003 4:50 PM
Subject: Re: [Pgsql-ayuda] Llamar una funcion

> No tienes instalado el soporte para ese lenguaje:
>
> Para saber que lenguaje tienes instalado haz lo sgte
>
> select * from pg_languages;
>
> lanname | lanispl | lanpltrusted | lanplcallfoid | lancompiler
> ----------+---------+--------------+---------------+-------------
> internal | f | f | 0 | n/a
> C | f | f | 0 | /bin/cc
> sql | f | f | 0 | postgres
>
> este es el resultado en mi Linux RedHat 8
>
> 1. Crear la función que se encargará de procesar el lenguaje:
>
> DROP FUNCTION plpgsql_call_handler ();
> CREATE FUNCTION plpgsql_call_handler () RETURNS OPAQUE
> AS '/usr/lib/pgsql/plpgsql.so' LANGUAGE 'C';
>
> 2 .Crear la función handler y dar de alta el lenguaje
>
> DELETE FROM pg_language WHERE lanname='plpgsql';
> CREATE TRUSTED PROCEDURAL LANGUAGE 'plpgsql' HANDLER
> plpgsql_call_handler LANCOMPILER 'PL/pgSQL';
>
> ojo que la libreria de plpgsql.so esta en '/usr/lib/pgsql/plpgsql.so'
según
> mi sistema, tal vez en tu sistema este en otro lugar.
> Puedes buscarlo con el comando locate libpgsql.so
>
> saludos
>
> ----- Original Message -----
> From: "Sergio Valdes" <voig_pgsql(at)entelchile(dot)net>
> To: <pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx>
> Sent: Friday, August 01, 2003 4:15 PM
> Subject: Re: [Pgsql-ayuda] Llamar una funcion
>
>
> > Gracias Alvaro por tu ayuda. Lo del Select ya lo habia enontrado mirando
> > ejemplos de pl/pgSQL (que distraido soy, siempre estuvieron ahi) pero no
> me
> > salia nada pues me faltaba la parte final :
> > .. as foot (a date).
> >
> > Además como tu bien decias sólo me devolvia una fila pero cuando agregue
> > "setof" ya me salieron todas
> >
> > Nuevamente gracias, y ahora solo una ultima duda, por que en la clausula
> > LANGUAGE no puedo poner "plpqsql" , pues me da un error diciendo:
language
> > "plpgsql" does not exist.
> >
> >
> > Sergio Valdés H.
> > [Pgsql-ayuda]
> > ----- Original Message -----
> > From: "Alvaro Herrera" <alvherre(at)dcc(dot)uchile(dot)cl>
> > To: "Sergio Valdes" <voig_pgsql(at)entelchile(dot)net>
> > Cc: <pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx>
> > Sent: Thursday, July 31, 2003 11:15 PM
> > Subject: Re: [Pgsql-ayuda] Llamar una funcion
> >
> >
> > > On Thu, Jul 31, 2003 at 01:30:07PM -0400, Sergio Valdes wrote:
> > >
> > > Sergio,
> > >
> > > CREATE FUNCTION "func01" (date)
> > > RETURNS setof record AS
> > > 'select * from ventas where fecha_venta >= $1'
> > > LANGUAGE "sql";
> > >
> > > > Mis dudas son las siguientes:
> > > > Esta bien que el tipo de datos del RETURNS sea record?
> > >
> > > No, probablemente debe ser SETOF RECORD. Lo otro también funciona
pero
> > > retorna una cosa distinta (sólo una tupla, y probablemente quieres
> > > varias).
> > >
> > > > Como puedo llamar esta función desde Php 4.3.2?
> > >
> > > Como desde cualquier otro sitio:
> > >
> > > select * from func01('2003-02-01') as foo(a date);
> > >
> > > donde la parte (a date) debe coincidir con la definición de la tabla
> > > ventas. En mi caso,
> > >
> > > alvh=> \d ventas
> > > Table "public.ventas"
> > > Column | Type | Modifiers
> > > ------------+------+-----------
> > > fecha_venta | date |
> > >
> > > --
> > > Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
> > > "Escucha y olvidarás; ve y recordarás; haz y entenderás" (Confucio)
> > > _______________________________________________
> > > Pgsql-ayuda mailing list
> > > Pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
> > > http://tlali.iztacala.unam.mx/mailman/listinfo/pgsql-ayuda
> >
> > _______________________________________________
> > Pgsql-ayuda mailing list
> > Pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
> > http://tlali.iztacala.unam.mx/mailman/listinfo/pgsql-ayuda
> >
>
> _______________________________________________
> Pgsql-ayuda mailing list
> Pgsql-ayuda(at)tlali(dot)iztacala(dot)unam(dot)mx
> http://tlali.iztacala.unam.mx/mailman/listinfo/pgsql-ayuda
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2003-08-01 21:19:32 Re: [Pgsql-ayuda] Llamar una funcion
Previous Message Patricio Muñoz 2003-08-01 20:50:42 Re: [Pgsql-ayuda] Llamar una funcion