Re: indexes on partitioned tables - on the base table, or the partitioned tables? - Mailing list pgsql-general

From Hrishikesh Mehendale
Subject Re: indexes on partitioned tables - on the base table, or the partitioned tables?
Date
Msg-id 200908310944.52528.hrishikesh.mehendale@riverbed.com
Whole thread Raw
In response to indexes on partitioned tables - on the base table, or the partitioned tables?  (Kevin Kempter <kevink@consistentstate.com>)
List pgsql-general
Hi Kevin,

From the PG documentation (section 5.8 - inheritance):
  http://www.postgresql.org/docs/current/static/ddl-inherit.html

"A serious limitation of the inheritance feature is that indexes (including
unique constraints) and foreign key constraints only apply to single tables,
not to their inheritance children. This is true on both the referencing and
referenced sides of a foreign key constraint."

So there's no "best place", there's only one place for the indexes and
constraints - which is the table(s) that contain the data, which would usually
be the individual partition tables.

(This caveat seems to be absent from the Partitioning documentation (section
5.9))

Cheers,
~Hrishi

It was Sunday 30 August 2009 07:17:28 pm that the wise Kevin Kempter thus
wrote:
> Hi all;
>
> where's the best place for the indexes/constraints on a partitioned table.
>
> I assume it's best to place the FK constraints/triggers on the base/master
> table and the indexes on the individual partition tables.
>
> Thoughts?
>
> Thanks in advance.

pgsql-general by date:

Previous
From: Erwin Brandstetter
Date:
Subject: Re: Import data from XML file
Next
From: BlackMage
Date:
Subject: Import Using PHPPGADMIN