Mon Supabase gratuit se mettait en pause tous les 7 jours — réglé en 5 lignes de SQL
Le plan gratuit de Supabase met votre projet en pause après 7 jours d'inactivité. Solution élégante avec pg_cron — la base génère sa propre activité.
Si tu héberges un side-project sur le plan gratuit de Supabase, tu connais la douleur : 7 jours sans activité, le projet passe en pause, et ton app sert une 503 au pire moment.

La solution élégante
Faire vivre la base depuis l'intérieur, avec pg_cron, déjà dispo sur Supabase.
Le principe :
- une mini-table « sentinelle » (zéro donnée métier, verrouillée par RLS)
- une fonction qui y écrit un timestamp
- un job planifié qui tourne tout seul
create extension if not exists pg_cron;
select cron.schedule(
'keep-alive',
'0 6 */2 * *', -- tous les 2 jours à 6h
$$ update public.keep_alive set last_ping = now() where id = 1; $$
);
La base génère sa propre activité, le compteur d'inactivité ne retombe jamais à zéro.
L'ironie
Quelque part, un serveur reste éclairé toute la nuit juste pour écrire « je suis vivant » dans une table. 💡
Vous avez une solution plus écolo ? Je prends. 🌱