Getting "pq: unnamed prepared statement does not exist" error
Hi! I'm getting "pq: unnamed prepared statement does not exist" errors when using pooled connections (-pooler)
Tech stack: React + Go + database/sql + sqlc.
Setup: - Go app with database/sql and pq driver - Using dynamic queries with parameterized placeholders (?, $1, $2, etc.) - No explicit PREPARE/EXECUTE statements in my SQL - Railway hosting, need to handle ~1k concurrent users - 1 vCPU compute (450 max_connections limit)
Pattern: GET requests work fine, but PUT → immediate GET requests fail with the prepared statement error.
Questions: 1. Should I use pooled (-pooler) or direct connections for my use case? 2. Any known issues with protocol-level prepared statements in PgBouncer transaction mode? 3. With 1k users, will I hit connection limits without pooling?
Code uses standard parameterized queries like: SELECT * FROM attendees WHERE event_id = $1 AND first_name ILIKE $2