Startups : guide de survie Postgres en production

Original : The startup's Postgres survival guide

Pourquoi c'est important

Un guide opérationnel Postgres rare, synthétisant les pièges critiques pour les startups en croissance.

Alexander Belanger, co-fondateur de Hatchet, publie un guide pratique Postgres issu de deux ans d'expérience en production. Il couvre schémas, requêtes, index, migrations, gestion des connexions et autovacuum, à destination des équipes techniques en phase de croissance.

Alexander Belanger, co-fondateur de la startup Hatchet, a compilé en un document public ses apprentissages issus de deux ans de gestion de Postgres en production. Le guide s'adresse aux développeurs connaissant les bases du SQL mais pas encore familiers avec les subtilités opérationnelles.

Sur les schémas, il recommande d'utiliser des colonnes identity ou des UUIDs natifs comme clés primaires, de toujours employer le type timestamptz, et d'ajouter des clés étrangères avec suppression en cascade pour les tables à faible volume. Il met en garde contre les formes normales strictes (1NF/2NF/3NF) qui peuvent nuire aux performances et à la rapidité de développement.

Concernant les requêtes de lecture, le guide explique que Postgres effectue soit un accès direct via index (btree par défaut), soit un sequential scan coûteux sur toute la table. Il détaille les index composites, l'alignement du ORDER BY avec les index, et les bonnes pratiques pour les jointures.

Pour les écritures, les migrations et la gestion des connexions, le document aborde également des sujets avancés : le query planner, les mises à jour en masse, l'autovacuum (dont les paramètres par défaut peuvent déstabiliser une base en forte charge), le partitionnement, FOR UPDATE SKIP LOCKED, et les stratégies de migration sur de grandes tables.

Hatchet recommande l'outil sqlc pour les stacks Go, et mentionne Prisma TypedSQL comme alternative pour dépasser les limites des ORMs.

Source

hatchet.run — Lire l'original →