Re: Indexes on partitioned tables and foreign partitions

Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>

From: Ashutosh Bapat <ashutosh.bapat@enterprisedb.com>
To: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
Cc: Michael Paquier <michael@paquier.xyz>, Tom Lane <tgl@sss.pgh.pa.us>, Robert Haas <robertmhaas@gmail.com>, Simon Riggs <simon@2ndquadrant.com>, Arseny Sher <a.sher@postgrespro.ru>, "pgsql-hackers@lists.postgresql.org" <pgsql-hackers@lists.postgresql.org>
Date: 2018-05-10T13:19:00Z
Lists: pgsql-hackers
On Thu, May 10, 2018 at 8:30 AM, Amit Langote
<Langote_Amit_f8@lab.ntt.co.jp> wrote:
>
> How about we error out even *before* calling DefineIndex for the 1st time?
>  I see that ProcessUtilitySlow() gets a list of all partitions when
> locking them for index creation before calling DefineIndex.  Maybe, just
> go through the list and error out if one of them is a partition that we
> don't support creating an index on?

+1 for the idea. We don't want to spend efforts in DefineIndex for
some relations only to throw away that work later. I quickly looked at
the patch and I think it's on right track.

-- 
Best Wishes,
Ashutosh Bapat
EnterpriseDB Corporation
The Postgres Database Company


Commits

  1. Don't allow partitioned index on foreign-table partitions