Re: Multiple primary key on partition table?

From: Rajkumar Raghuwanshi <rajkumar(dot)raghuwanshi(at)enterprisedb(dot)com>
To: amul sul <sulamul(at)gmail(dot)com>
Cc: pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Multiple primary key on partition table?
Date: 2018-10-01 06:39:14
Message-ID: CAKcux6k9siTws5dXr3CKMSK1wuhaBO1q0g5DqMjw3xRK4FBjPQ@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Sep 18, 2018 at 11:20 AM amul sul <sulamul(at)gmail(dot)com> wrote:

> On Mon, Sep 17, 2018 at 9:06 PM amul sul <sulamul(at)gmail(dot)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
>

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Amit Langote 2018-10-01 06:39:22 Re: executor relation handling
Previous Message Michael Paquier 2018-10-01 06:36:52 Re: Adding a note to protocol.sgml regarding CopyData