Re: [pgsql-es-ayuda] Particionado automático de tablas

From: Emanuel Calvo Franco <postgres(dot)arg(at)gmail(dot)com>
To: Jorge Romeo <jromeo(at)samca(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: [pgsql-es-ayuda] Particionado automático de tablas
Date: 2009-06-03 13:15:31
Message-ID: f205bb120906030615s5d7e9e0w3f889f6f02a1a78c@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El día 3 de junio de 2009 4:58, Jorge Romeo <jromeo(at)samca(dot)com> escribió:
> Hola,
> espero que si alguien tiene experiencia con particionamiento de tablas pueda
> ayudarme con esto.
>
> Estoy pensando en utilizar para mi proyecto particionado de tablas para
> acelerar las consultas. Querría separar los datos por periodos de tiempo,
> por ejemplo meses o trimestres. Según he visto en el hilo "[pgsql-es-ayuda]
> Funciones y esquemas", tengo que crear una tabla por periodo que herede de
> la principal y crear un trigger en la principal que me redirija los datos
> hacia esas tablas, además de activar la opción constraint_exclusion...
>
> Pero tengo dos dudas:
>
> ¿Los SELECT se pueden hacer contra la tabla principal, o hay que hacerlos
> contra las mensuales?
>

Contra la principal y si tenés la certeza que esta en una partición, sobre la
partición. En el primer caso, al estar particionadas las tablas, reduciria el '
esfuerzo' de un scan a la tabla al tener que recorrer 'menos' registros.

> ¿Cómo hago que se cree la tabla para el período de forma automática, cada
> vez que cambie de mes?
>

AFAIK no hay una forma automática, a menos que generes un disparador
que 'detecte' el cambio de mes.

> Gracias de antemano,
> Jorge

--
Emanuel Calvo Franco
Sumate al ARPUG !
( www.arpug.com.ar)
ArPUG / AOSUG Member

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Ernesto Lozano 2009-06-03 13:25:35 Re: Prehistoria de PostgreSql en Chile (off topic)
Previous Message Rafael Martinez 2009-06-03 11:59:47 Re: ¿Por qué PostgreSQL Development Group usa CVS?