Vous n'êtes pas identifié(e).
Bonjour,
Je souhaite mettre en place une table maître (mytable) partitionnée en tables filles avec comme critère de partitionnement l'année et le mois.
C'est à dire que pour chaque mois, il y aurait une table fille (mytable_aa09mm01 pour janvier 2009, mytable_aa09mm02 pour février 2009, etc.).
J'ai vu dans la documentation comment faire cela mais la création des tables filles sont faites à l'avance et moi j'aimerais que cette création soit faite dynamiquement (avant l'INSERT) si la table fille n'existe pas.
Est ce que c'est faisable ? Et par quel moyen ?
Merci de votre aide.
Laurent.
Hors ligne
C'est faisable. Il faut que le trigger qui s'exécute pour renvoyer les données vers la table fille commence par tester la présence de cette table fille et la crée si elle n'existe pas.
Guillaume.
Hors ligne
Merci pour votre retour.
C'est une très bonne nouvelle pour moi.
Il est facile de manipuler les chaines de caractères en plpgsql ?
Car pour tester l'existence de la table fille, il va falloir "parser" la date pour en extraire le mois et l'année afin de construire la chaine représentant le nom de la table fille.
Hors ligne
Oui, ça ne pose aucun problème. Toutes les fonctions sur les chaînes de caractères sont indiquées sur http://docs.postgresql.fr/8.3/functions-string.html. Il est aussi possible d'utiliser différents types d'expressions rationnelles (voir http://docs.postgresql.fr/8.3/functions-matching.html).
Guillaume.
Hors ligne
Parfait.
Ya plus qu'à !
Encore merci pour toutes ces précisions.
Laurent.
Hors ligne