Re: Table Partitioning Feature

From: Emmanuel Cecchet <manu(at)frogthinker(dot)org>
To: Amit Gupta <amit(dot)pc(dot)gupta(at)gmail(dot)com>
Cc: pgsql-hackers(at)postgresql(dot)org, swm(at)alcove(dot)com(dot)au
Subject: Re: Table Partitioning Feature
Date: 2009-01-22 23:16:44
Message-ID: 4978FE5C.90005@frogthinker.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Amit,

You might want to put this on the
http://wiki.postgresql.org/wiki/Table_partitioning wiki page.
How does your timeline look like for this implementation?
I would be happy to contribute C triggers to your implementation. From
what I understood in
http://archives.postgresql.org/pgsql-hackers/2008-01/msg00269.php, you
already have an implementation that parses the grammar and generates
rules as if someone had written them. Is this code available?

Regarding the use of triggers to push/move data to partitions, what if
someone declares triggers on partitions? Especially if you have
subpartitions, let's consider the case where there is a trigger on the
parent, child and grandchild. If I do an insert in the parent, the user
trigger on the parent will be executed, then the partition trigger that
decides to move to the grandchild. Are we going to bypass the child trigger?
If we also want fast COPY operations on partitioned table, we could have
an optimized implementation that could bypass triggers and move the
tuple directly to the appropriate child table.

Thanks for this big contribution,
Emmanuel

> Hi,
>
> We are implementing table partitioning feature to support
> - the attached commands. The syntax conforms to most of the suggestion
> mentioned in
> http://archives.postgresql.org/pgsql-hackers/2008-01/msg00413.php,
> barring the following:
> -- Specification of partition names is optional. System will be able
> to generate partition names in such cases.
> -- sub partitioning
> We are using pgsql triggers to push/move data to appropriate
> partitions, but we will definitely consider moving to C language
> triggers as suggested by manu.
> - Global non-partitioned indexes (that will extend all the partitions).
> - Foreign key support for tables referring to partitioned tables.
>
> Please feel free to post your comments and suggestions.
>
> Thanks,
> Amit
> Persistent Systems
>
>
>
> ------------------------------------------------------------------------
>
>

--
Emmanuel Cecchet
FTO @ Frog Thinker
Open Source Development & Consulting
--
Web: http://www.frogthinker.org
email: manu(at)frogthinker(dot)org
Skype: emmanuel_cecchet

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2009-01-22 23:20:53 Re: Lock conflict behavior?
Previous Message Alvaro Herrera 2009-01-22 23:14:37 Re: reducing statistics write overhead