Re: ON CONFLICT with constraint name doesn't work

From: Andres Freund <andres(at)anarazel(dot)de>
To: Nikolay Samokhvalov <samokhvalov(at)gmail(dot)com>
Cc: PostgreSQL mailing lists <pgsql-bugs(at)postgresql(dot)org>
Subject: Re: ON CONFLICT with constraint name doesn't work
Date: 2017-03-16 20:23:59
Message-ID: 20170316202359.zi44m4smfq6nvd6s@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-bugs pgsql-hackers

On 2017-03-16 13:08:53 -0700, Nikolay Samokhvalov wrote:
> On Thu, Mar 16, 2017 at 12:40 PM, Andres Freund <andres(at)anarazel(dot)de> wrote:
> >
> > A unique index isn't exactly the same as a unique constraint - you
> > really need to create a constraint.
>
>
> Then we probably need to fix this message?
>
> [local]:5432 nikolay(at)test=# insert into constr (msg) values ('hohoho') ;
> INSERT 0 1
>
> [local]:5432 nikolay(at)test=# insert into constr (msg) values ('hohoho') ;
> ERROR: duplicate key value violates unique constraint "i_constr_msg"
> DETAIL: Key (md5(msg))=(8b0dc2e34844337434b8475108a490ab) already exists.
>
> -- it tells us explicitly, that we have a *constraint* named "i_constr_msg".

Seems like a good idea to improve that message. I wouldn't vote for
backpatching it, however. Could you propose a patch for that?

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-bugs by date

  From Date Subject
Next Message Andres Freund 2017-03-16 20:37:50 Re: BUG #14057: vacuum setting reltuples=0 for tables with >0 tuples
Previous Message Nikolay Samokhvalov 2017-03-16 20:08:53 Re: ON CONFLICT with constraint name doesn't work

Browse pgsql-hackers by date

  From Date Subject
Next Message Thomas Munro 2017-03-16 20:40:17 Size vs size_t
Previous Message Tom Lane 2017-03-16 20:17:03 Re: asynchronous execution