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

#1 04/06/2018 21:38:35

trainvapeur
Membre

calculer le nom de la table dans un CREATE TABLE

Bonsoir,
je voudrais mettre en place un partitionnement sur une grosse table (50 millions de lignes) basé sur l'année et le mois. Il faut donc que je crée toute une série de tables 'fille' du type
mesure_2018_01
mesure_2018_02
etc
J'aimerai pouvoir faire un script ou une fonction qui le fasse automatiquement pour une année. Je veux bien créer 12 Create pour une année dans la fonction mais est-il possible de passer '2018' en parametre ?

Merci d'avance
Jean à Grenoble

Hors ligne

#2 05/06/2018 08:17:33

gleu
Administrateur

Re : calculer le nom de la table dans un CREATE TABLE

Oui, il est possible de passer des paramètres aux fonctions. Le mieux est certainement de lire la documentation sur le langage PL/pgsql, de tenter une fonction et de revenir ici en cas de soucis. Le lien vers la doc : https://docs.postgresql.fr/10/plpgsql.html


Guillaume.

Hors ligne

#3 07/06/2018 23:37:45

trainvapeur
Membre

Re : calculer le nom de la table dans un CREATE TABLE

Bonsoir,
en fait on a eu un problème avec la commande EXECUTE. L'aide en PDF n'est pas très explicite et nous avons fait une erreur qui nous a fait croire qu'EXECUTE ne fonctionnait pas. L'aide HTML semble beaucoup plus détaillée et la commande fonctionne bien.

Nous pouvons créer toutes les tables nécessaires à notre partionnement d'une manière automatique ! Et nous avons même pu résoudre d'autres problèmes !!
Merci !
Jean à Grenoble

Hors ligne

Pied de page des forums