IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PostgreSQL Discussion :

les types personnalisés


Sujet :

PostgreSQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 6
    Par défaut les types personnalisés
    Bonjour, est-il possible de créer un type personnalisé qui est juste le renommage d'un type existant ?

    genre créer un type LIBELLE qui est varcahr(32) et le jour où j'ai besoin d'un libellé plus long j'ai juste à changer une fois le type.

    Je n'ai pas vu de doc clair sur ça dans le manuel.

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Citation Envoyé par Brousse_Ouilisse
    Bonjour, est-il possible de créer un type personnalisé qui est juste le renommage d'un type existant ?

    genre créer un type LIBELLE qui est varcahr(32) et le jour où j'ai besoin d'un libellé plus long j'ai juste à changer une fois le type.

    Je n'ai pas vu de doc clair sur ça dans le manuel.
    un tel usage n'est pas le but des types de données personnalisés en PostgreSQL :

    "Creating a new base type requires implementing functions to operate on the type in a low-level language, usually C." (dixit la doc)

    ce que vous cherchez s'apparente plus à de la susbstituion de texte lors la création des tables dans le SQL qui définit vos données…
    ce que vous pouvez faire avec n'importe quel traitement de texte…

    (n'oubliez pas que changer un type personnalisé ne change pas la définition des tables existantes mais au contraire risque de rendre vos tables utilisant l'ancienne définition inacessibles : il faudrait prévoir des outils de conversion de l'ancien vers le nouveau type… bref plus de travail que ce vous cherchez à "économiser"…)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 6
    Par défaut
    Ce que je voudrais faire est-il impossible alors ?

  4. #4
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Citation Envoyé par Brousse_Ouilisse
    Ce que je voudrais faire est-il impossible alors ?
    "impossible" n'est pas le mot qui convient…

    si le but est de gagner du temps et de la flexibilité, ce n'est pas la voie à suivre…

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 6
    Par défaut
    Citation Envoyé par JeitEmgie
    "impossible" n'est pas le mot qui convient…

    si le but est de gagner du temps et de la flexibilité, ce n'est pas la voie à suivre…
    Merci de vos conseils méthodologiques, j'aimerais quand-même savoir comment faire ce que j'ai demandé même si je n'utiliserais pas cette technique comme prévue au départ.

  6. #6
    Membre Expert
    Homme Profil pro
    Inscrit en
    Septembre 2006
    Messages
    2 963
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 2 963
    Par défaut
    Citation Envoyé par Brousse_Ouilisse
    Merci de vos conseils méthodologiques, j'aimerais quand-même savoir comment faire ce que j'ai demandé même si je n'utiliserais pas cette technique comme prévue au départ.
    en supposant que quand vous dites "le jour où j'ai besoin d'un libellé plus long" signifie "le jour où il faut créer une nouvelle DB sur un schéma similaire" mais dont quelques types doivent être modifiés, schéma dont vous avez la description SQL dans un fichier source…

    dans ce cas utilisez simplement un outil de traitement de texte qui effectuera les substitutions pour vous avant de soumettre le SQL de création des tables à Postgre…

    en général on fait ce genre de choses avec sed, awk, et quelques scripts sh…
    (ruby est aussi bon pour ce genre de choses…)

    quant à faire véritablement un nouveau type via une shared lib écrite en C… cela me paraît un peu compliqué à expliquer dans le cadre d'un forum surtout si vous n'avez pas lu la doc de postgre à ce sujet et regardé les exemples dans src/contrib…

Discussions similaires

  1. Maxvalue pour les types de var
    Par VincenzoR dans le forum Oracle
    Réponses: 2
    Dernier message: 23/11/2005, 09h58
  2. les types des champs
    Par zidenne dans le forum Access
    Réponses: 3
    Dernier message: 18/11/2005, 12h27
  3. [Débutant][Phppgadmin] problème avec les types
    Par PoY dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 19/08/2004, 17h06
  4. Comparer les types de variable
    Par onipif dans le forum ASP
    Réponses: 11
    Dernier message: 27/05/2004, 18h07
  5. fopen -> différences entres les types d'ouvertur
    Par Patrick PETIT dans le forum C
    Réponses: 10
    Dernier message: 01/06/2003, 18h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo