Re: Partitioning vs ON CONFLICT
Amit Langote <langote_amit_f8@lab.ntt.co.jp>
From: Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Peter Geoghegan <pg@bowt.ie>,
"Shinoda, Noriyoshi" <noriyoshi.shinoda@hpe.com>,
Simon Riggs <simon@2ndquadrant.com>,
PostgreSQL Hackers <pgsql-hackers@postgresql.org>,
Thom Brown <thom@linux.com>
Date: 2017-08-01T04:26:01Z
Lists: pgsql-hackers
On 2017/08/01 10:52, Robert Haas wrote: > On Mon, Apr 3, 2017 at 6:28 AM, Amit Langote > <Langote_Amit_f8@lab.ntt.co.jp> wrote: >> Since nowhere has the user asked to ensure unique(b) across partitions by >> defining the same on parent, this seems just fine. But one question to >> ask may be whether that will *always* be the case? That is, will we take >> ON CONFLICT DO NOTHING without the conflict target specification to mean >> checking for conflicts on the individual leaf partition level, even in the >> future when we may have global constraints? > > No. We'll take it to mean that there is no conflict with any unique > constraint we're able to declare. Currently, that means a > partition-local unique constraint because that's all there is. It > will include any new things added in the future. So is the latest patch posted upthread to process ON CONFLICT DO NOTHING using locally-defined unique indexes on leaf partitions something to consider? Maybe, not until we have cascading index definition working [1]? Thanks, Amit [1] https://www.postgresql.org/message-id/c8fe4f6b-ff46-aae0-89e3-e936a35f0cfd%40postgrespro.ru
Commits
-
Revert "Allow ON CONFLICT .. DO NOTHING on a partitioned table."
- f05230752d53 10.0 landed
-
Allow ON CONFLICT .. DO NOTHING on a partitioned table.
- 8355a011a012 10.0 landed