Re: Consulta tablas temporarias

From: Patricio Muñoz <patricio(dot)munoz(at)cmet(dot)net>
To: "Lucas" <lucas(at)movi(dot)com(dot)ar>, "Fernando Papa" <fpapa(at)claxson(dot)com>, <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Consulta tablas temporarias
Date: 2004-05-05 20:56:37
Message-ID: 011301c432e3$754a8700$0500a8c0@ultra.cmet.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

> lo que no entendí bien es eso que me decís que "una buena alternativa es
> hacerle un drop table cuando termina la función... " eso es lo que hago...
> pero igual me da el error....

Si creas una tabla "temporal", creo que no es necesario hacer "drop" de la
tabla, ya que se "dropea" automaticamente una vez finalizada la sesión. Al
menos ese es el concepto que manejo de tablas temporales.

saludos

----- Original Message -----
From: "Lucas" <lucas(at)movi(dot)com(dot)ar>

> fernando:
> el tema de hacerle un campo que sea PID fue una idea que paso
> por mi cabeza, pero la dejé en "stand by" hasta asegurarme que no había
otra
> solución mejor...
> El tema de la conexión/desconexión lamentablemente no sirve en mi caso ,
> porque tengo una capa intermedia, la cual mantiene un pool de conexiones a
> la base permantemente. Lo que estoy haciendo en este momento es, antes de
> crear la tabla me fijo si es que la tabla ya existe, si es asi le borro
todo
> el contenido, si no es asi la creo (temporaria) ... hasta ahora esa es la
> opcion que mas "feliz" me resulta.... ya que tengo a lo sumo 1 tabla
> temporaria por sesión...
>
> lo que no entendí bien es eso que me decís que "una buena alternativa es
> hacerle un drop table cuando termina la función... " eso es lo que hago...
> pero igual me da el error....
>
>
> ----- Original Message -----
> From: "Fernando Papa" <fpapa(at)claxson(dot)com>
> To: "Lucas" <lucas(at)movi(dot)com(dot)ar>; <pgsql-es-ayuda(at)postgresql(dot)org>
> Sent: Wednesday, May 05, 2004 3:32 PM
> Subject: RE: [pgsql-es-ayuda] Consulta tablas temporarias
>
>
>
> Si, a mi me paso lo mismo... las opciones son, o usas una tabla no
> temporaria y le das al "truncate" despues (muy complicado si el ambiente
es
> con alta concurrencia en esa parte), o usas una tabla no temporaria
> agregandole un campo para el PID, y haces "delete" cuando terminas la
> funcion (mas lento que el truncate), o usas tablas temporarias y haces un
> drop table cuando termina la funcion (una buena alternativa).
> Cuando nosotros tuvimos un problema similar, el problema se "resolvio"
> solo... como es esto? los problemas los teniamos cuando estabamos
> desarrollando la aplicación web, entre prueba y prueba saltaban los
> errores... cuando la aplicación se usaba desde el entorno web, como el php
> conectaba y desconectaba todo el tiempo (no mantenia la conexión en forma
> persistente) no habia problemas.
>
> --
> Fernando O. Papa
> DBA
>
>
> > -----Mensaje original-----
> > De: pgsql-es-ayuda-owner(at)postgresql(dot)org
> > [mailto:pgsql-es-ayuda-owner(at)postgresql(dot)org] En nombre de Lucas
> > Enviado el: miércoles, 05 de mayo de 2004 11:33
> > Para: pgsql-es-ayuda(at)postgresql(dot)org
> > Asunto: [pgsql-es-ayuda] Consulta tablas temporarias
> >
> >
> > Buenas gente...
> > hace poco que estoy trabajando con postgres, por lo cual hay
> > muchas cosas que desconozco asi que puede ser que este
> > cometiendo un error básico, si es asi pido disculpas... El
> > problema que estoy teniendo, por lo que ví, es ya conocido,
> > pero no encontré por ningún lado una solución.... Tengo una
> > función que crea una tabla temporaria, a la cual le ingreso
> > una serie de datos y al finalizar la función le hago un DROP.
> > La función funciona correctamente la primera vez que es
> > ejecutada, pero la segunda vez me da el siguiente error:
> > "ERROR: relation with OID xxxxxx does not exist". Por lo que
> > leí es un problema de cacheo de planes de ejecución, pero no
> > pude encontrar ni un patch, ni solución alternativa a este
> > problema. Lo único que encontré que funciona es realizar las
> > operaciones sobre esta tabla a traves de EXECUTEs ... lo cual
> > realmente es muy engorroso cuando las consultas son apenas
> > complejas. alguno pudo solucionar este inconveniente??
> >
> > (estoy usando un postgresql 7.4)
> >
> >
> > desde ya muchas gracias!
> > Lucas
> >
> >
> > ---------------------------(end of
> > broadcast)---------------------------
> > TIP 3: si publicas/lees desde Usenet, por favor envía
> > "subscribe-nomal"
> > a majordomo(at)postgresql(dot)org para que tus mensajes puedan llegar
> > a los suscriptores de la lista
> >
>
>
>
> ---------------------------(end of broadcast)---------------------------
> TIP 1: para suscribirte y desuscribirte, escribe a
majordomo(at)postgresql(dot)org

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2004-05-05 21:37:12 Re: Consulta tablas temporarias
Previous Message Oscar 2004-05-05 20:54:59 Error en creación de base de datos