Thread: BUG #13917: "upsert" construct doesn't work with partial index

BUG #13917: "upsert" construct doesn't work with partial index

From
dv@unlimitedsoftware.it
Date:
The following bug has been logged on the website:

Bug reference:      13917
Logged by:          dante vitale
Email address:      dv@unlimitedsoftware.it
PostgreSQL version: 9.5.0
Operating system:   centos 6
Description:

an INSERT ... ON CONFLICT DO NOTHING statement doesn't twork if unique index
on duplicated field is created without "where" clause. In case of co called
"partial index" the duplicate key exception rises.

Re: BUG #13917: "upsert" construct doesn't work with partial index

From
Peter Geoghegan
Date:
On Thu, Feb 4, 2016 at 8:31 AM,  <dv@unlimitedsoftware.it> wrote:
> an INSERT ... ON CONFLICT DO NOTHING statement doesn't twork if unique index
> on duplicated field is created without "where" clause. In case of co called
> "partial index" the duplicate key exception rises.

Please provide a concrete test case. I think you just need to spell
out the WHERE clause in the inference specification. That will use
both indexes (the partial unique index, as well as the non-partial
unique index on the same fields).


--
Peter Geoghegan