To sidebar

samedi 1 septembre 2018

PostgreSQL 11 : ajout de colonnes avec valeurs par défaut & bombe à retardement

Dans les améliorations de performances de la v11, l’une d’elles peut faire gagner beaucoup de temps lors des mises à jour applicatives, voire peut en rendre certaines simplement possibles :

Many other useful performance improvements, including making ALTER TABLE .. ADD COLUMN with a non-null column default faster

Les détails sont chez Brandur. En résumé, lors de l’ajout d’une colonne avec une valeur par défaut, PostgreSQL pré-v11 devait réécrire la table pour la rajouter physiquement. Ce qui prend son temps si ladite table fait 1 To. Et l’application utilisatrice est bloquée, ce qui peut être intolérable. Les contournements, comme l’ajout d’une colonne nullable puis la mise à jour progressive par batchs, introduisent un état transitoire un peu bancal.

Vient la v11, qui se contente de rajouter l’information que la colonne a été ajoutée, et que si elle ne se trouve pas dans la ligne, il faut prendre la valeur par défaut.

Lire la suite...

mercredi 18 janvier 2017

Database In Depth (Relational Theory for Practitioners) (C.J. Date)

Database In Depth - C.J. DateVoilà un livre dont je ne sais quoi trop penser. La cible avouée de l’auteur : les professionnels qui ont besoin d’une bonne dose de rappel sur la théorie des bases de données relationnelles, et qu’on leur rappelle ou apprenne les limites du SQL.

Lire la suite...

© SQL & éléphant, after the WP Dusk To Dawn theme Propulsé par Dotclear