Postgresql erro: duplicate key violates unique constraint
A indexação da sua chave primária está fora de sincronia.
Logue-se no psql e faça:
SELECT MAX(id) FROM nomeTabela;
Anote esse resultado. Agora faça:
SELECT nextval('nomeTabela_id_seq');
Esse resultado deve ser maior que o anterior, senão:
FAÇA BACKUP ANTES! FAÇA BACKUP ANTES! FAÇA BACKUP ANTES! FAÇA BACKUP ANTES!
SELECT setval('nomeTabela_id_seq', (SELECT MAX(id) FROM nomeTabel)+1);