Para agregar a la respuesta anterior, actualmente también puede usar algo como esto para buscar códigos de error (en el ejemplo:verificar claves duplicadas).
- (lib de github.com/jackc/pgx )
- Los errores de Postgres se explican aquí
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
}