Small traffic — up to 50K requests/day
Medium traffic — 50K to 500K requests/day
High traffic — 500K to 5M requests/day
These are conservative estimates. Actual storage depends on your payload sizes, how many monitoring modules you enable, and your data clearing schedule.
Recommended settings
idle_in_transaction_session_timeout
A dropped connection through a pooler (Supabase Supavisor, PgBouncer, RDS Proxy) can leave an orphaned transaction on the server holding locks on thenightowl_* tables. When that happens, the agent logs SQLSTATE[55P03] lock timeout errors on every drain attempt and telemetry backs up in the local buffer until the orphaned session is killed.
Let PostgreSQL clean these up on its own:
Agent versions newer than 1.2.14 apply this guard automatically on their own drain transactions (
NIGHTOWL_DB_IDLE_TXN_TIMEOUT_MS, default 30 seconds), scoped so other clients of your database are never affected. The database-level setting remains useful as a backstop and for older agents.