From: | James Coleman <jtc331(at)gmail(dot)com> |
---|---|
To: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: PG12 change to DO UPDATE SET column references |
Date: | 2024-01-20 14:10:53 |
Message-ID: | CAAaqYe_C1Z2cUhX2QdGjbhMOcEpkHj7qw2zQH1e9zX+b+LMYWA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Fri, Jan 19, 2024 at 1:53 PM David G. Johnston
<david(dot)g(dot)johnston(at)gmail(dot)com> wrote:
>
> On Fri, Jan 19, 2024 at 10:01 AM James Coleman <jtc331(at)gmail(dot)com> wrote:
>>
>> Making this more confusing is the fact that if I want to do something
>> like "SET bar = foo.bar + 1" the table qualification cannot be present
>> on the setting column but is required on the reading column.
>>
>> There isn't anything in the docs that I see about this, and I don't
>> see anything scanning the release notes for PG12 either (though I
>> could have missed a keyword to search for).
>>
>
> https://www.postgresql.org/docs/12/sql-insert.html
>
> "When referencing a column with ON CONFLICT DO UPDATE, do not include the table's name in the specification of a target column. For example, INSERT INTO table_name ... ON CONFLICT DO UPDATE SET table_name.col = 1 is invalid (this follows the general behavior for UPDATE)."
>
> The same text exists for v11.
Well, egg on my face for definitely missing that in the docs.
Unfortunately that doesn't explain why it works on PG11 and not on PG12.
Regards,
James Coleman
From | Date | Subject | |
---|---|---|---|
Next Message | David G. Johnston | 2024-01-20 14:47:14 | Re: PG12 change to DO UPDATE SET column references |
Previous Message | Amit Kapila | 2024-01-20 10:44:16 | Re: Synchronizing slots from primary to standby |