Eliminando il parametro funziona bene. grazie.

Cmq ecco codice:

$risultato = pg_query("INSERT INTO Utente(anascita, username, sesso, nome, cognome, nazionalita) VALUES('$anno','$username', '$ses' , '$nome','$cognome', '$naz') ");
if(!$risultato) {
die( pg_last_error() );
}

Come faccio a capire il check violato (quindi leggere determinate parole nel "pg_last_error() ) e stampare un messaggio di errore scritto da me, cioè più leggibile per l'utente?

Grazie