В отличии от мускуля, где автоинкремент встроен в потроха на уровне движка, сиквенс - это просто некий отдельно лежащий счетчик
Для того, что бы он работал как автоинкремент - нужно каждый раз получать значение конкретного счетчика, делается это путем назначения default значения на первичный ключ таблицы в виде вызова функции nextval.
id integer NOT NULL DEFAULT nextval('"some_id_seq"'::regclass)
default значение отрабатывает только если это поле не было передано во вставке или было передано со значением default.
Т.е., если вы вставляете в таблицу в явным указанием id - default не выполняется, сиквенс не меняется. Так что в этом случае нужно явно проставить значение счетчика через setval