I have a rather large and slow table in Postgresql 9.1. I'm thinking of
partitioning it by months, but I don't like the idea of creating and dropping
tables all the time.
I'm thinking of simply creating 12 child tables, in which the check condition
will be, for example, date_part('month'', time_arrived) = 1 (or 2 for February,
3 for March etc.).
I'll just be deleting records rather than dropping tables, the same way I do in
my current setup. I delete a week's worth every time.
So, I have two questions.
First, is constraint exclusion going to work with that kind of condition? I
mean, if my WHERE clause says something like "time_arrived >= '2013-04-05' and
time_arrived < '2013-04-17'", will it be able to tell that
date_part("month",time_arrived) for all the records is 4, and therefore avoid
selecting from any partitions other than the april one?
Second, when I delete (not drop!) from the mother table, are records deleted
automatically from the child tables or do I need to create rules/triggers for
that?
TIA,
Herouth
--
Sent via pgsql-general mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general