Здравствуйте. При
INSERT INTO ... ON CONFLICT автокримент срабатывает для каждой записи.
nextval('dishes_products_norms_id_seq'::regclass). И уже при вставке идет разрыв в id.
Например, первая вставка. Записи отсутствую и вставляются в базу.
INSERT INTO dishes_products_norms ( dish_id,product_id,children_category_id,amount ) VALUES ( 980190962,28,6,0.02 ),( 980190962,33,6,0.02 ) ON CONFLICT ( dish_id, product_id, children_category_id ) DO UPDATE SET amount = EXCLUDED.amount RETURNING id ;
Результат поля id
"ids": [
129,
130
]
Вторая вставка, первая запись обновляется, вторая запись идет вставка.
INSERT INTO dishes_products_norms ( dish_id,product_id,children_category_id,amount ) VALUES ( 980190962,28,6,0.03 ),( 980190962,33,6,0.02 ) ON CONFLICT ( dish_id, product_id, children_category_id ) DO UPDATE SET amount = EXCLUDED.amount RETURNING id ;
Результат поля id
"ids": [
129,
132
]
Как сделать что бы не срабатывал автоинкримент?