2009/5/29 Jaime Casanova <jcasa...@systemguards.com.ec> > 2009/5/29 Carlos Bazán <info...@vtr.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 >