# Quota alert emails and going over

> What SupaHost's usage alert emails mean, when they're sent (80%, 90% or 100%), what happens when you go over your plan, and how to add capacity or turn alerts off.

Source: https://supahost.app/kb/quota-alerts · Updated 2026-11-11

## What you see

An email from SupaHost (`notifications@supahost.app`) saying one of your instance's quotas has reached a percentage of its limit: database size, file storage or monthly egress. *Dashboard → **Usage & billing*** shows the same tile in a warning colour.

## What it means

Each instance has three shared quotas, set by your plan plus any add-ons:

| Quota | Builder | Pro | Business |
|---|---|---|---|
| Database (all projects) | 8 GB | 25 GB | 50 GB |
| File storage (all projects) | 100 GB | 250 GB | 500 GB |
| Egress per month | 250 GB | 500 GB | 1 TB |

Alerts fire once per quota per level per month: at the threshold you choose (80% by default) and again at 100%.

**Going over doesn't stop anything.** SupaHost never throttles or shuts down your instance for exceeding a quota. The extra is billed with your next invoice at the overage rates:

| Over on | Overage rate |
|---|---|
| Database | $0.125 per GB |
| File storage | $0.021 per GB |
| Egress | $0.12 per GB |

Your instance's disk also grows automatically as it fills, so a growing database won't run out of space at the quota line.

## What to do

1. **Find what's growing.** Database size per project is on the **Projects** page (sort by **Database size**). Inside a project, find the biggest tables:

   ```sql
   select relname as table_name,
          pg_size_pretty(pg_total_relation_size(relid)) as total_size
   from pg_catalog.pg_statio_user_tables
   order by pg_total_relation_size(relid) desc
   limit 10;
   ```

2. **Decide whether it's expected.** Real growth is fine. Unexpected growth usually comes from logs or events tables nobody trims, old cron history in your own tables, or files that were uploaded and never cleaned up.

3. **Clean up or add capacity:**
   - Delete or archive data you don't need, for example with a nightly cron job. Postgres reuses freed space, but the database's reported size may not shrink right away: see [Database size not shrinking after deleting data](/kb/disk-not-shrinking).
   - For file storage, see [Unexpectedly high storage usage](/kb/storage-high-usage). For egress, see [Egress on SupaHost explained](/kb/egress-explained).
   - Add capacity on *Usage & billing → Add-ons*: database $1.25 per 10 GB, file storage $1.05 per 50 GB, egress $12 per 100 GB (each per month). Per GB that's the same as the overage rate, but it raises your quota, so the alerts track the budget you've actually chosen.
   - Or move to a bigger plan, which also gives you more CPU and memory: see [Changing plans](/docs/platform/changing-plans).

## Changing the alerts

On *Dashboard → **Settings** → Email notifications*:

- **Usage alerts** has a picker: **at 80%**, **at 90%** or **at 100%**.
- The toggle turns usage alerts off completely.
- **Also send alerts to** adds up to 5 more addresses (comma-separated), such as a team inbox. They get downtime, usage and upgrade alerts too.

## On SupaHost

- Quotas are per instance, shared by every project on it.
- Database size is the sum of each project's database size. File storage is the size of each project's files on disk.
- Egress resets each month. Database and file storage are measured as current size.

## Related

- [Usage, quotas and add-ons](/docs/platform/usage)
- [Plans and limits](/docs/platform/plans)
- [Failed payment and the grace period](/kb/failed-payment)
