Thread
-
Re: ON CONFLICT DO SELECT (take 3)
Dean Rasheed <dean.a.rasheed@gmail.com> — 2025-11-25T11:14:08Z
On Sun, 23 Nov 2025 at 20:34, Viktor Holmberg <v@viktorh.net> wrote: > > I’ve update the docs in all the cases you mentioned. I’ve also grepped through the docs for “ON CONFLICT” and “DO UPDATE” and fixed upp all mentions where it made sense > --- a/doc/src/sgml/ref/create_table.sgml +++ b/doc/src/sgml/ref/create_table.sgml @@ -1380,7 +1380,7 @@ WITH ( MODULUS <replaceable class="parameter">numeric_literal</replaceable>, REM clause. <literal>NOT NULL</literal> and <literal>CHECK</literal> constraints are not deferrable. Note that deferrable constraints cannot be used as conflict arbitrators in an <command>INSERT</command> statement that - includes an <literal>ON CONFLICT DO UPDATE</literal> clause. + includes an <literal>ON CONFLICT DO UPDATE / SELECT</literal> clause. </para> </listitem> </varlistentry> Actually, a deferrable constraint cannot be used with ON CONFLICT DO NOTHING either, which makes this a pre-existing documentation bug, that should be fixed and back-patched separately as follows: - includes an <literal>ON CONFLICT DO UPDATE</literal> clause. + includes an <literal>ON CONFLICT</literal> clause. In addition, I think we should change the word "arbitrators" to "arbiters". It means pretty-much the same thing, but the latter is the term used everywhere else. I'll take care of that separately, so the above diff won't be needed in this patch. Regards, Dean