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.