по итогу выдает ошибку "there is no unique or exclusion constraint matching the ON CONFLICT specification". При этом если запускать просто запрос, не через функцию, то нормально работает. С чем может быть связано?
Скорее всего в коде функции написан другой запрос. Скорее всего insert on conflict. Но вы бы текст запроса и текст функции показали для приличия :)
Это вызвано было после добавления поля в таблицу и запрос.
вот ы этом месте он сбоит. on conflict (id, start_timestamp, VIP, "Активный") do nothing; вот так он падает в ошибку, а так работает on conflict (id, start_timestamp, VIP ) do nothing;
ругается, когда вы указываете в conflict столбец, который не может конфликтовать ( например нет constraint unique по этому полю )
может конфликтовать с чем?
с данными в базе
https://postgrespro.ru/docs/postgresql/13/sql-insert#SQL-ON-CONFLICT
в таблице прописанные так же ограничения нужно было там еще поменять.. Добавление в таблицу ограничения уникальности (по нескольким столбцам): ALTER TABLE distributors ADD CONSTRAINT dist_id_zipcode_key UNIQUE (dist_id, zipcode);
Обсуждают сегодня