Vous n'êtes pas identifié(e).
- Contributions : Récentes | Sans réponse
#1 27/01/2009 19:04:39
- laurent-CC
- Membre
Partitionnement : création dynamique de tables filles
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
#2 28/01/2009 00:18:11
- gleu
- Administrateur
Re : Partitionnement : création dynamique de tables filles
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
#3 28/01/2009 10:13:56
- laurent-CC
- Membre
Re : Partitionnement : création dynamique de tables filles
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
#4 28/01/2009 11:25:36
- gleu
- Administrateur
Re : Partitionnement : création dynamique de tables filles
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
#5 28/01/2009 13:09:48
- laurent-CC
- Membre
Re : Partitionnement : création dynamique de tables filles
Parfait.
Ya plus qu'à !
Encore merci pour toutes ces précisions.
Laurent.
Hors ligne