No está insertando un valor para id
. Dado que no lo establece explícitamente, implícitamente se le da un null
valor, que, por supuesto, no es un valor válido para una columna de clave principal. Puede evitar toda esta situación definiendo esta columna como serial
en lugar de un viejo integer
y deja todo el trabajo pesado a la base de datos.