| 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: | Whole Thread | Raw Message | 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 |