Это происходит, если значение столбца id явно задано в операторе вставки.
Для каждого столбца id есть последовательность в Postgres, которая обычно называется tablename_columnname_seq, например user_id_seq.
Пожалуйста, проверьте имя в определении таблицы в pgadmin3, поскольку rails не поддерживает последовательности с другими именами.
Вы можете исправить последовательность со слишком низким идентификатором, выполнив что-то похожее на:
SELECT setval('user_id_seq', 10000);
Чтобы узнать наибольшее число: ВЫБЕРИТЕ макс (id) ИЗ пользователей;
SELECT max(x) FROM
(SELECT max(id) As x FROM users
UNION SELECT last_value As x FROM user_id_seq As y);