From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | paul(at)salesintel(dot)com |
Cc: | pgsql-bugs(at)postgresql(dot)org |
Subject: | Re: BUG #13846: INSERT ON CONFLICT consumes sequencers on conflicts |
Date: | 2016-01-05 16:13:26 |
Message-ID: | 20160105161326.GD7650@awork2.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-bugs |
On 2016-01-05 15:02:27 +0000, paul(at)salesintel(dot)com wrote:
> The following bug has been logged on the website:
>
> Bug reference: 13846
> Logged by: Paul Hester
> Email address: paul(at)salesintel(dot)com
> PostgreSQL version: 9.5rc1
> Operating system: Windows 10 Pro
> Description:
>
> When using an INSERT statement with an ON CONFLICT clause, if there is a
> conflict, and the table being inserted into has a column defaulted to
> nextval('seq'), the sequencer 'seq' is always incremented. This can quickly
> and artificially consume all values of the sequencer; it behaves as if
> conflict detection happens after inserts are attempted, rather than before.
Yes. That's by design. You can't reliably do conflict detection before
evaluating column default values.
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Paul | 2016-01-05 17:27:22 | Re: BUG #13846: INSERT ON CONFLICT consumes sequencers onconflicts |
Previous Message | gnkna | 2016-01-05 15:15:26 | BUG #13847: WARNING: skipping "pg_toast_" --- cannot vacuum indexes, views, or special system tables VACUUM |