Bonjour à tous,
Lorsque j'ajoute une colonne qui possède une valeur par défaut non-nulle, PostgreSQL est censé faire la réécriture de la table avec cette nouvelle valeur par défaut.
C'est ce que je lis sur la doc Section "Notes" 2e et 3e paragraphes.
Or, je n'obtiens pas du tout ce résultat. Je pense que PostgreSQL ne réécris pas la table pour les records avant modification; Pour les ajouts de lignes, j'ai le comportement attendu.
voici mes modifications :
Code : Sélectionner tout - Visualiser dans une fenêtre à part alter table mytable add col2 int, alter col2 set default 1;Quelqu'un est il capable de m'expliquer?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 postgres=# \d mytable Table "public.mytable" Column | Type | Modifiers --------+---------+----------- id | bigint | txt | text | col1 | integer | col2 | integer | default 1 postgres=# select * From mytable limit 5; id | txt | col1 | col2 ----+----------------------------------+------+------ 1 | 909f30bb4525d8faa871dbcd781673bc | | 2 | 89322ec9c4a8bb367bed857bbbbe551d | | 3 | 62d89569adb6cb72bb62853332568bc5 | | 4 | 21a67701603a7251ef4763cd9e5963bc | | 5 | e4d45997890b4b02c7b2caf670e92d59 | | (5 rows)
Merci !
Partager