Nie wstawiasz wartości dla id . Ponieważ nie ustawiasz go jawnie, niejawnie otrzymuje null wartość, która oczywiście nie jest prawidłową wartością dla kolumny klucza podstawowego. Możesz uniknąć tej całej sytuacji, definiując tę kolumnę jako serial zamiast zwykłej starej integer , i pozostaw cały ciężar w bazie danych.