NeonN
Neon4mo ago
3 replies
then-purple

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

Any insights appreciated! 🙏
Was this page helpful?