Vous n'êtes pas identifié(e).

#1 15/05/2019 16:30:09

debellabre
Membre

héritage sous postgres

Bonjour,

Nous aimerions utiliser la fonctionnalité d'héritage pour une RDO mais celle-ci semble inexploitable.

En effet On ne peut pas utiliser des contraintes d'intégrité sur la table parente  si l'enregistrement a été crée sur une base fille  de ce parent.

Un sujet à priori connu depuis longtemps.
http://geekblog.over-blog.com/article-17775481.html

Y a t-il un moyen de contournement ? Ce sujet est-il abandonné ou dans la roadmap de postgres ?
Merci

Hors ligne

#2 15/05/2019 16:42:27

ruizsebastien
Membre

Re : héritage sous postgres

Bonjour,

Depuis la v10 on peut créer des tables partitionnées.
Je ne sais pas si ça répond à votre problématique (je ne fait que passer).


Cordialement,

Sébastien.

Hors ligne

#3 15/05/2019 23:36:05

gleu
Administrateur

Re : héritage sous postgres

Le sujet n'est pas particulièrement abandonné mais personne à ma connaissance ne travaille dessus. La partie héritage est très peu développée actuellement.

La problème des contraintes d'unicité (et donc en particulier des clés primaires) est qu'elles sont réalisées grâce à un index. Or, un index se crée sur une seule table. PostgreSQL ne sait pas créer un index sur plusieurs tables, ce qui serait nécessaire dans l'héritage. Le seul moyen de le simuler à ma connaissance est de créer une contrainte unique (ou une clé primaire si c'est ce qui vous manque) basée sur deux colonnes, une correspondant à la partition et une valeur distincte (ce qu'on fait actuellement aussi avec le partitionnement natif).


Guillaume.

Hors ligne

Pied de page des forums