jackc/pgx · error
argument found in sql query but not present in…
Error message
argument %s found in sql query but not present in StrictNamedArgs
What it means
StrictNamedArgs rewriting found a named parameter in the SQL that has no corresponding entry in the supplied arguments map. Strict semantics require every referenced name to be present.
Solutions
- Add the missing name to the NamedArgs map
- Use non-strict NamedArgs if unused names should be tolerated
- Fix typos between the SQL parameter name and the map key
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at named_args.go:194 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/9e0951fbd55a9285.
Report an issue: GitHub.
Appendix: source
Thrown at named_args.go:194
}
sb := strings.Builder{}
for _, p := range l.parts {
switch p := p.(type) {
case string:
sb.WriteString(p)
case namedArg:
sb.WriteRune('$')
sb.WriteString(strconv.Itoa(l.nameToOrdinal[p]))
}
}
newArgs = make([]any, len(l.nameToOrdinal))
for name, ordinal := range l.nameToOrdinal {
var found bool
newArgs[ordinal-1], found = na[string(name)]
if isStrict && !found {
return "", nil, fmt.Errorf("argument %s found in sql query but not present in StrictNamedArgs", name)
}
}
if isStrict {
for name := range na {
if _, found := l.nameToOrdinal[namedArg(name)]; !found {
return "", nil, fmt.Errorf("argument %s of StrictNamedArgs not found in sql query", name)
}
}
}
return sb.String(), newArgs, nil
}
func rawState(l *sqlLexer) stateFn {
for {
r, width := utf8.DecodeRuneInString(l.src[l.pos:])
l.pos += widthView on GitHub (pinned to ec1a0befd2)