jackc/pgx · error
While processing rows
Error message
While processing rows: %w
What it means
Conn.LoadTypes finished iterating result rows but rows.Err() reported a deferred error from the catalog query (network interruption, context cancellation, or decode failure mid-iteration).
Solutions
- Unwrap to inspect the underlying Rows error
- Check whether the context was cancelled or timed out during iteration
- Retry LoadTypes on a healthy connection if the cause was transient
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at derived_types.go:248 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of jackc/pgx@ec1a0befd2 (2026-08-04).
Data as JSON: /api/errors/b68004c5c314170b.
Report an issue: GitHub.
Appendix: source
Thrown at derived_types.go:248
}
type_ = &pgtype.Type{Name: ti.TypeName, OID: ti.Oid, Codec: &pgtype.MultirangeCodec{ElementType: dt}}
default:
return nil, fmt.Errorf("Unknown typtype %q was found while registering %q", ti.Typtype, ti.TypeName)
}
// the type_ is impossible to be null
m.RegisterType(type_)
if ti.NspName != "" {
nspType := &pgtype.Type{Name: ti.NspName + "." + type_.Name, OID: type_.OID, Codec: type_.Codec}
m.RegisterType(nspType)
result = append(result, nspType)
}
result = append(result, type_)
}
if err := rows.Err(); err != nil {
return nil, fmt.Errorf("While processing rows: %w", err)
}
return result, nil
}
// serverVersion returns the postgresql server version.
func serverVersion(c *Conn) (int64, error) {
serverVersionStr := c.PgConn().ParameterStatus("server_version")
serverVersionStr = regexp.MustCompile(`^[0-9]+`).FindString(serverVersionStr)
// if not PostgreSQL do nothing
if serverVersionStr == "" {
return 0, fmt.Errorf("Cannot identify server version in %q", serverVersionStr)
}
version, err := strconv.ParseInt(serverVersionStr, 10, 64)
if err != nil {
return 0, fmt.Errorf("postgres version parsing failed: %w", err)
}View on GitHub (pinned to ec1a0befd2)