Postgresql Duplicate Key Value Violates Unique Constraint On Update