Re: PG12 change to DO UPDATE SET column references

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

In response to

Responses

Browse pgsql-hackers by date

  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