Re: Funciones y esquemas

From: Jose Vasquez <cibercol(at)gmail(dot)com>
To: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
Cc: Carlos Bazán <infobaz(at)vtr(dot)net>, Ayuda <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Funciones y esquemas
Date: 2009-05-30 02:56:26
Message-ID: 98a673a80905291956t1c7a566j28fa3cff63608e47@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2009/5/29 Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>

> 2009/5/29 Carlos Bazán <infobaz(at)vtr(dot)net>:
> > Amigos, tengo la siguiente duda:
> > Es mejor tener una función dentro de un esquema que procese datos de las
> > tablas de ese esquema o tener una sola función en el esquema public que
> > procese data de todos los esquemas?
> >
>
> depende del problema que quieras solucionar: una desventaja obvia es
> que si en algun momento quisieras hacer un procesamiento especial para
> un cliente particular (o para varios) empezarias a dañar tu funcion,
> una ventaja obvia es que si nunca ocurre que necesites procesamiento
> especial sino que debes hacer un cambio que afecte a todos los
> clientes solo deberas modificar una funcion y no muchas

> Se puede realizar una funcion que automaticamente actualize el codigo
> en los diferentes esquemas de una forma organizada
>

> > Estoy trabajando en una base que almacenará datos de muchos clientes,
> entonces
> > por una cuestión organizacional voy a crear para cada cliente un esquema
> con
> > las mismas tablas (y estructura) usando números, por
> > ejemplo "1".tabla1, "1".tabla2, "2".tabla1, "2".tabla2 etc.
> >
>
> seguro que no puedes tener solo un conjunto de tablas para todos los
> clientes?

> Si tengo una volumen muy grande de datos para un cliente en particular
> y tengo muchas consultas que solamente se refieren a ese cliente en
> particular ser'ia util dividir la tabla en diferentes esquemas que permitan
> consultar la informacion activando el parametro constraint_exclusion y las
> consultas realmente no tienen que ser muchas mas, puesto que postgres lo
> hace automaticamente. El problema es que postgres no inserta los datos en
> las diferentes tablas que se encuentran en diferentes esquemas, sino que hay
> que hacerlo manualmente. Oracle lo hace directamente en las diferentes
> tablas o particiones de tablas.

Jose VASQUEZ

>
>
> > Entonces como habrán algunas funciones que procesarán datos de tablas de
> cada
> > cliente en particular, me pregunto si es mejor hacer esas funciones
> dentro
> > del esquema de cada cliente en particular o hacer una sola que trabaje
> con
> > las tablas de un cliente en un momento dado, para lo cual se le pasaría
> el
> > esquema a trabajar como parámetro.
> >
>
> existen formas menos complejas de "dispararse en el pie"
>
> --
> Atentamente,
> Jaime Casanova
> Soporte y capacitación de PostgreSQL
> Asesoría y desarrollo de sistemas
> Guayaquil - Ecuador
> Cel. +59387171157
> --
> TIP 9: visita nuestro canal de IRC #postgresql-es en irc.freenode.net
>

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jose Hernandez 2009-05-30 03:21:46 Consulta 2: Error al leer desde una tabla plana
Previous Message Jose Hernandez 2009-05-30 02:29:27 Rv: Consulta 1:Problemas con un simple delete