Ajout d'une colonne et d'une valeur par défaut
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:
alter table mytable add col2 int, alter col2 set default 1;
Code:
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) |
Quelqu'un est il capable de m'expliquer?
Merci !