Re: Multiple primary key on partition table? - Mailing list pgsql-hackers

From Rajkumar Raghuwanshi
Subject Re: Multiple primary key on partition table?
Date
Msg-id CAKcux6k9siTws5dXr3CKMSK1wuhaBO1q0g5DqMjw3xRK4FBjPQ@mail.gmail.com
Whole thread Raw
In response to Re: Multiple primary key on partition table?  (amul sul <sulamul@gmail.com>)
Responses Re: Multiple primary key on partition table?  (Alvaro Herrera <alvherre@2ndquadrant.com>)
List pgsql-hackers


On Tue, Sep 18, 2018 at 11:20 AM amul sul <sulamul@gmail.com> wrote:
On Mon, Sep 17, 2018 at 9:06 PM amul sul <sulamul@gmail.com> wrote:
>
> Nice catch Rajkumar.
>
> In index_check_primary_key(), relationHasPrimaryKey() called only for the an
> alter command but I think we need to call in this case as well, like this:
>
> diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c
> index 7eb3e35166..c8714395fe 100644
> --- a/src/backend/catalog/index.c
> +++ b/src/backend/catalog/index.c
> @@ -223,7 +223,7 @@ index_check_primary_key(Relation heapRel,
>      * and CREATE INDEX doesn't have a way to say PRIMARY KEY, so it's no
>      * problem either.
>      */
> -   if (is_alter_table &&
> +   if ((is_alter_table || heapRel->rd_rel->relispartition) &&
>         relationHasPrimaryKey(heapRel))
>     {
>         ereport(ERROR,
>
> Thoughts?
>

Here is the complete patch proposes the aforesaid fix with regression test.
Thanks, This worked for me.
 

Regards,
Amul

pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: Adding a note to protocol.sgml regarding CopyData
Next
From: Amit Langote
Date:
Subject: Re: executor relation handling