jackc/pgx · error

postgres version parsing failed

Error message

postgres version parsing failed: %w

What it means

serverVersion extracted a leading digit string from server_version but strconv.ParseInt failed to convert it — a malformed or overflowing version number in the parameter status.

Solutions

  1. Inspect the server_version string reported by the server
  2. Verify no unusual characters or overflow-large numbers are present
  3. Report if a standard PostgreSQL build triggers this
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at derived_types.go:265 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/6b60b383d779e002. Report an issue: GitHub.

Appendix: source

Thrown at derived_types.go:265

	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)
	}
	return version, nil
}

View on GitHub (pinned to ec1a0befd2)