The defaults fit typical single-node deployments. Keep the pool settings unchanged unless
DATABASE_BUSY occurs repeatedly or you add Web or Worker processes.Default connection capacity
With Workbook enabled, the conservative application peak is
51 connections:
100 leaves sufficient headroom. POOL_SIZE is the number of retained connections, not the connection ceiling; add MAX_OVERFLOW to get that ceiling.
When DATABASE_BUSY occurs
DATABASE_BUSY means AskTable temporarily could not acquire a database connection or PostgreSQL reached its connection limit. The page retries automatically and offers a manual Retry action if the database remains busy.
If the error keeps returning:
- Check logs to determine whether Web requests or background refreshes are affected.
- For refresh contention, first reduce
AT_WORKER_MAX_JOBS. - Do not enlarge pools when PostgreSQL already reports exhausted connections.
- Increase only the affected Web or Worker pool, and only after confirming PostgreSQL has headroom and the local pool is timing out.
When adding processes
Each additional Web process adds one Web primary-database pool, up to one Workbook pool, and oneLISTEN/NOTIFY connection. Each additional Worker adds one Worker primary-database pool and up to one Workbook pool.
Tune in this order: shorten transactions, reduce background concurrency, adjust the affected role pool, and raise the PostgreSQL limit last. Keep at least 10 connections available for migrations and troubleshooting.
Complete configuration reference
Complete configuration reference
All settings are static environment variables. Restart the affected process after changing them.
Web and Worker pool capacity is configured separately; both roles share the wait and recycle settings. All pool values must be non-negative, and Workbook must satisfy
0 <= MIN <= MAX.Calculate the exact connection ceiling
Calculate the exact connection ceiling
B is AT_WORKBOOK_POOL_MAX when Workbook is enabled and 0 otherwise.max_connections minus reserved_connections and superuser_reserved_connections.Inspect connection usage
Inspect connection usage
Inspect PostgreSQL limits:Inspect connection sources and long transactions:Inspect container logs:
For external PostgreSQL, use the provider’s effective connection limit. AskTable does not change it automatically.
