PostgreSQL
La base de données la plus sophistiquée au monde.

Ouverture de session

Navigation

Contactez-nous

Administration du site :
"equipe chez postgresqlfr point org"

Contact presse :
"fr chez postgresql point org"

Contact association :
"bureau chez postgresqlfr point org"

Questions PostgreSQL :
 IRC :
  serveur irc.freenode.net
  canal #postgresqlfr

Recherche

Accéder aux archives

« Octobre 2008  
Lun Mar Mer Jeu Ven Sam Dim
  2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31  

Syndication

Flux XML

Sondage

Quelle est la version de PostgreSQL la plus répandue sur vos serveurs ?
8.3
10%
8.2
42%
8.1
40%
8.0
2%
7.4
6%
7.3 ou antérieure
0%
Nombre de votes: 48

Problème d'héritage après ALTER

Technique - général | Problème d'héritage après ALTER

Par ced le 09/07/2008 - 16:25

Bonjour,

Je suis en Postgresql 8.3.3 sur Windows XP.
J'ai 2 schéma, avec dans le second une table héritée du premier schéma. Les données sont exclusivement situées dans la table fille.
Voici les scripts de création :

CREATE schema test1;
CREATE schema test2;

CREATE TABLE test1.point (code char(16), test1 char(2), test2 char(3));
CREATE TABLE test2.point (code2 char(16)) INHERITS (test1.point);

Je dois réaliser un script qui supprime la colonne test2.
Or, pour des raisons de maintenance, j'ai du faire "sauter" temporairement l'héritage de ma table point dans le schéma test2, comme ça :

ALTER TABLE test2.point NO INHERIT test1.point;

Puis je l'ai rétabli comme ça :

ALTER TABLE test2.point INHERIT test1.point;

Du coup, maintenant, alors que l'héritage a bien été rétabli, la suppression d'une colonne dans la table mère ne se propage plus dans la table fille .
Code :

ALTER TABLE test1.point DROP COLUMN test2 CASCADE;

La colonne test2 n'est plus dans test1.point, mais elle est toujours dans test2.point.
Pourtant, d'après la doc Postgresql, elle aurait aussi dû être supprimée... Et c'est bien ce qui se passe si je ne supprime pas temporairement l'héritage par la commande ALTER.

Est-ce que c'est un bug ?

ced

© PostgreSQLFr, tous droits réservés.
Site déclaré à la CNIL sous le numéro 1074678, conformément à la Loi en vigueur.