Description Générale
Le livre, d’environ 350 pages, se compose de 13 chapitres. En plus du texte, son contenu inclut une grande quantité de code (principalement des requêtes SQL) ainsi que divers tableaux. Le niveau de difficulté de lecture est d’environ intermédiaire. Chaque chapitre est renforcé par un bref résumé.
Aperçu Rapide
Lorsque j’ai lu le livre, c’était encore la version 11. Cependant, l’auteur tient à le tenir à jour—le premier chapitre aborde généralement les dernières innovations de la base de données. Après une brève introduction, le chapitre sur les transactions et les verrous commence—ce qui est attendu, car chaque opération dans PostgreSQL s’exécute dans le cadre d’une transaction. Les transactions simples ainsi que les plus complexes et longues utilisant SAVEPOINT sont discutées. FOR SHARE et FOR UPDATE, les niveaux d’isolation des transactions, l’optimisation du stockage et d’autres sujets sont également abordés ici.
Ensuite. Il y a un chapitre sur la création d’index, leurs types (B‑tree, GIN, GiST, etc.), leurs objectifs et leurs applications. Le chapitre est très informatif et détaillé. Suit un chapitre court sur les fonctions avancées (regroupement, tri, agrégation, fonctions de window)—également très instructif. Après cela, il y a un chapitre sur la journalisation. Les journaux de requêtes, la configuration de la journalisation et les requêtes système sont discutés.
Vient ensuite un chapitre important sur l’optimisation des requêtes. Des exemples d’optimisation interne (effectuée par l’optimiseur avant l’exécution d’une requête) ainsi que des méthodes externes, où le développeur peut améliorer la requête, sont analysés. Les JOINs, le partitionnement et bien plus encore sont également abordés ici.
Après cela, il y a un chapitre sur les procédures stockées. Je ne suis pas particulièrement enclin à déléguer la logique métier (même en partie) à la base de données, donc je ne peux pas pleinement apprécier ce chapitre, bien que j’admets qu’il existe des situations où les procédures stockées peuvent être appropriées.
Le chapitre suivant traite de la sécurité. Il inclut la sécurité réseau (pg_hba), les droits d’accès, la délégation de rôles et la suppression d’utilisateurs. Il montre comment protéger les données à différents niveaux du système. Très intéressant et utile.
Ensuite, il y a plusieurs chapitres sur les sauvegardes. Le premier chapitre se concentre sur la création et la restauration des sauvegardes. Le second concerne la réplication. Les deux sont très informatifs et captivants.
Le chapitre suivant couvre les extensions PostgreSQL. Les méthodes d’installation et d’utilisation des extensions (contrib et tierces) sont décrites. Les modules les plus demandés qui étendent les fonctionnalités de PostgreSQL sont mis en avant.
L’un des derniers chapitres est consacré au dépannage dans PostgreSQL. Des approches pratiques pour analyser l’activité (pg_stat_activity), identifier les goulots d’étranglement, les outils de journalisation, le travail avec les index, la mémoire et bien plus encore sont discutés. Enfin, le dernier chapitre est dédié à la migration de votre base de données actuelle (par exemple, MySQL) vers PostgreSQL.
Mon Avis
Un livre avec des exemples pratiques sur l’une des bases de données relationnelles les plus populaires—PostgreSQL. Ce que j’ai vraiment aimé dans ce livre, c’est sa fluidité. Tous les chapitres sont très séquentiels et se complètent mutuellement. Par moments, le livre m’a semblé un peu difficile, car je n’avais jamais approfondi autant PostgreSQL. Cependant, il peut être très utile pour ceux qui souhaitent apprendre les subtilités de la base de données et, par exemple, distinguer les index GIN des index GiST ou comprendre les modes de verrouillage comme ACCESS SHARE, ROW SHARE, SHARE UPDATE EXCLUSIVE, et d’autres. D’un autre côté, le livre couvre également de nombreux sujets populaires tels que les transactions, le profilage, la réplication et bien plus encore, utilisés au quotidien, donc ce livre sera sans aucun doute très utile à tous les développeurs backend.