Re: PG12 change to DO UPDATE SET column references
David G. Johnston <david.g.johnston@gmail.com>
From: "David G. Johnston" <david.g.johnston@gmail.com>
To: James Coleman <jtc331@gmail.com>
Cc: pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2024-01-19T18:53:03Z
Lists: pgsql-hackers
On Fri, Jan 19, 2024 at 10:01 AM James Coleman <jtc331@gmail.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. David J.
Commits
-
Add hint about not qualifying UPDATE...SET target with relation name.
- 58447e31890a 17.0 landed