← Blog

Neon and PlanetScale database uptime checks

Neon (serverless Postgres) and PlanetScale (Vitess MySQL) scale to zero or pause compute to save money. That is great for side projects — and confusing for monitoring, because a database socket check is not what StillOnline runs. StillOnline probes HTTP URLs; your app’s /health decides whether a paused branch or connection timeout means “down” for customers.

Quick answer

Neon and PlanetScale are reached from your app, not by external HTTP monitors directly. Add GET /health on your app (optional SELECT 1 with a 1 s timeout); use liveness-only if compute suspend causes false alerts. Register the app HTTPS URL in StillOnlineFree, one URL, five-minute interval (pricing).

Lightweight SELECT vs full app health

ApproachProvesFalse positive risk
Liveness only ({ "status": "ok" })App process respondsDB can be down while check is green
SELECT 1 in /healthDB reachable from appNeon resume / cold start may slow probe
Separate /readyStrict dependency checkUse on Pro second URL if needed
Direct DB URL in StillOnlineNot supportedStillOnline is HTTP-only

Design details: health endpoint design.

Neon: compute pause and branches

Neon can suspend compute on free or dev tiers. First query after idle wakes the database — your /health with DB ping may exceed probe timeout once.

SituationRecommendation
Dev branch auto-suspendDo not monitor dev URL in production StillOnline project
Prod should never sleepConfigure Neon not to suspend prod; keep DB ping in /health
Accept wake-up latencyLiveness-only /health; page only on repeated failures

PlanetScale: branches and scale

PlanetScale deprecated free tier patterns evolve — monitor production branch through your app, not admin UI. Connection limits during deploys can fail SELECT 1 briefly; keep queries minimal.

Example app health (concept)

Your framework route runs:

SELECT 1;

with a 1 second timeout, returns 200 on success and 503 on failure. StillOnline registers:

curl -sS https://api.yourproduct.com/health

Not neon.tech or planetscale.com hostnames.

StillOnline setup

  1. Sign in.
  2. New project.
  3. HTTP check → app /health, GET, 200.
  4. Status page for API consumers — health quickstart.

SettingsConnect TelegramStillOnline botTelegram guide.

Related guides

FAQ

Can StillOnline monitor Neon or PlanetScale directly?

No. StillOnline checks public HTTP URLs. Database uptime is inferred through your app health route that uses the DB — health endpoint design.

Why does StillOnline alert when Neon was just paused?

A /health with DB ping may time out while compute resumes. Use liveness-only health, disable suspend on prod, or tune check interval — probe tuning.

Should I use /health or /ready for Neon?

Use /health for StillOnline’s primary check (liveness). Put strict DB checks on /ready if you add a second Pro check — health endpoint design.