I'm pretty sure the 'alias' for the '.. on conflict do update ..' needs to be 'excluded' (i.e. checks = excluded.checks, ...). Check the docs.
Steve On Thu, Nov 4, 2021 at 8:05 AM Alex Magnum <magnum11...@gmail.com> wrote: > Hi, > I am trying to do an upsert using a view but for some reason get errors. > All works fine without the ON CONFLICT > > INSERT INTO http_stats > SELECT * FROM view_http_stats AS V WHERE month =date_trunc('month',now()) > ON CONFLICT (url,ip,month) DO UPDATE > SET last_update = now(), > checks = V.checks, > uptime = V.uptime, > errors = V.errors; > > ERROR: 42P01: missing FROM-clause entry for table "v" > LINE 5: checks = V.checks, > ^ > LOCATION: errorMissingRTE, parse_relation.c:3460 > > Any help would be appreciated. Thanks in advance. > > A >