A database can be technically online while your application is becoming slower. That is why monitoring matters. Instead of waiting for users to report problems, monitor the signals that show your database is under pressure.
CPU Usage
High CPU can indicate heavy database processing. Possible causes include:
- Expensive queries
- Large aggregations
- Too many simultaneous requests
- Inefficient database operations CPU should be monitored together with query performance.
Memory Usage
Memory is important for database performance. High memory pressure can indicate that the database does not have enough resources for the current workload. Monitor memory trends rather than only looking at one moment.
Database Connections
Connection count is another important metric. Too many connections can create pressure on PostgreSQL. If connection usage is consistently high, investigate application connection management and pooling.
Storage
Database storage grows over time. Track:
- Current usage
- Growth rate
- Large tables
- Large indexes
- Historical data A database that is almost full should not be a surprise.
Query Performance
Slow queries can directly affect application performance. Look for:
- Long-running queries
- Frequently executed queries
- Queries scanning large datasets
- Expensive JOINs
- Missing indexes
Transaction Volume
A busy application can perform many database transactions. A sudden increase can indicate:
- New traffic
- A new application feature
- Unexpected automation
- A runaway process Compare transaction activity with expected application behavior.
Realtime Activity
If your application uses Supabase Realtime, monitor the workload created by subscriptions and events. A realtime-heavy application can have a very different resource profile from a normal CRUD application.
Storage Activity
For applications with file uploads, also monitor storage usage. Images, videos and documents can grow much faster than expected.
Monitor Trends
A single metric reading is less useful than a trend. For example:
Monday → 45% CPU
Tuesday → 52%
Wednesday → 61%
Thursday → 72%
The trend suggests the workload is increasing.
What Should You Do With the Data?
Monitoring should lead to action. If queries are slow:
Optimize queries. If connections are high: Review connection management. If storage is growing: Review retention and storage requirements. If resources are consistently saturated: Consider scaling.
Final Thoughts
Database monitoring is about understanding your application's behavior before it becomes a problem. Watch CPU, memory, connections, storage, query performance and workload trends.
The goal is not to keep every metric at zero. The goal is to understand what normal looks like for your application and recognize when that changes.