Re: Auto creation of Partitions - Mailing list pgsql-hackers

From NikhilS
Subject Re: Auto creation of Partitions
Date
Msg-id d3c4af540703070629s7f475700n34990ef0438112ee@mail.gmail.com
Whole thread Raw
In response to Re: Auto creation of Partitions  ("Zeugswetter Andreas ADI SD" <ZeugswetterA@spardat.at>)
Responses Re: Auto creation of Partitions  (Alvaro Herrera <alvherre@commandprompt.com>)
List pgsql-hackers
Hi,

On 3/7/07, Zeugswetter Andreas ADI SD <ZeugswetterA@spardat.at> wrote:

> > iv) Based on the PRIMARY, UNIQUE, REFERENCES information specified,
> > pass it on to the children tables.
>
> How will you maintain a primary key in such a table,
> considering that indexes can't span multiple tables?

Many partitioning schemes have (or can be made to have) only one
possible target partition for the primary key. Thus if you create
separate unique indexes on each partition the problem is solved.
For a first version I opt, that it is sufficient to disallow creation of
a unique index on the master, when the constraints (on columns of this
index) do not nail down a specific partition for each row (e.g. a hash
or a range on one of the index columns that does not overlap).
Later, global index, or indexes with separate partitioning rules can be
implemented, that cover the other cases.

Andreas

Yes, I agree. For version 1, UNIQUE/PRIMARY indexes will cascade down to the child table, only if the indexed column is present as part of the partitioning rule.

Regards,
Nikhils

--
EnterpriseDB               http://www.enterprisedb.com

pgsql-hackers by date:

Previous
From: "Luke Lonergan"
Date:
Subject: Re: Grouped Index Tuples / Clustered Indexes
Next
From: "Zeugswetter Andreas ADI SD"
Date:
Subject: Re: Patch license update to developer's FAQ