Per aggiungere alla risposta precedente, al momento puoi anche utilizzare qualcosa del genere per verificare la presenza di codici di errore (nell'esempio:verifica della presenza di chiavi duplicate).
- (lib da github.com/jackc/pgx )
- Gli errori di Postgres sono spiegati qui
import "github.com/jackc/pgx"
...
func isDuplicateKeyError(err error) bool {
pgErr, ok := err.(pgx.PgError)
if ok {
// unique_violation = 23505
return pgErr.Code == "23505"
}
return false
}