Meilleures pratiques Supabase Postgres
Guide complet d'optimisation des performances pour Postgres, maintenu par Supabase. Contient des règles dans 8 catégories, classées par ordre d'impact pour guider l'optimisation automatisée des requêtes et la conception de schémas.
Déclencheurs
- supabase
- postgres
- postgresql
- sql
- database query
- rls
- row level security
- realtime
- supabase auth
- pg
- query optimization
Quand appliquer
Consultez ces directives pour :
- Écrire des requêtes SQL ou concevoir des schémas
- Implémenter des index ou optimiser les requêtes
- Examiner les problèmes de performance de base de données
- Configurer le connection pooling ou la mise à l'échelle
- Optimiser pour les fonctionnalités spécifiques à Postgres
- Travailler avec Row-Level Security (RLS)
Catégories de règles par priorité
| Priorité | Catégorie | Impact | Préfixe |
|---|---|---|---|
| 1 | Query Performance | CRITIQUE | query- |
| 2 | Connection Management | CRITIQUE | conn- |
| 3 | Security & RLS | CRITIQUE | security- |
| 4 | Schema Design | ÉLEVÉ | schema- |
| 5 | Concurrency & Locking | MOYEN-ÉLEVÉ | lock- |
| 6 | Data Access Patterns | MOYEN | data- |
| 7 | Monitoring & Diagnostics | BAS-MOYEN | monitor- |
| 8 | Advanced Features | BAS | advanced- |
Mode d'emploi
Consultez les fichiers de règles individuels pour des explications détaillées et des exemples SQL :
references/query-missing-indexes.md
references/schema-partial-indexes.md
references/_sections.md
Chaque fichier de règle contient :
- Brève explication de l'importance
- Exemple SQL incorrect avec explication
- Exemple SQL correct avec explication
- Sortie EXPLAIN ou métriques optionnelles
- Contexte supplémentaire et références
- Notes spécifiques à Supabase (le cas échéant)
Vérification
- Le code a réellement été exécuté (ou type-vérifiéé / linted selon les besoins) et la sortie de la commande est enregistrée
- Les dépendances et les versions de runtime utilisées sont épinglées et enregistrées (p. ex. requirements.txt, package.json + lockfile, .nvmrc)
- Les erreurs ou avertissements émis par l'exécution sont traités ou explicitement acceptés avec une raison
- Les nouvelles E/S externes (réseau, système de fichiers, DB) ont des timeouts et une gestion d'erreur, pas de silence sur les défaillances
- Les tests du changement ont été exécutés et le nombre de réussite/échec est dans la transcription
- Les secrets et identifiants sont lus à partir du stockage env/secret, non en dur, et les fichiers
.envne sont pas committés