Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 07/02/2007, 12h35   #1
Invité de passage
 
Inscription : février 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 6
Points : 0
Points : 0
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.
Brousse_Ouilisse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 13h18   #2
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 292
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 292
Points : 2 740
Points : 2 740
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"…)
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 19h32   #3
Invité de passage
 
Inscription : février 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 6
Points : 0
Points : 0
Ce que je voudrais faire est-il impossible alors ?
Brousse_Ouilisse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/02/2007, 20h22   #4
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 292
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 292
Points : 2 740
Points : 2 740
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…
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2007, 11h35   #5
Invité de passage
 
Inscription : février 2007
Messages : 6
Détails du profil
Informations forums :
Inscription : février 2007
Messages : 6
Points : 0
Points : 0
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.
Brousse_Ouilisse est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/02/2007, 17h19   #6
Expert Confirmé
 
Homme
Inscription : septembre 2006
Messages : 2 292
Détails du profil
Informations personnelles :
Sexe : Homme

Informations forums :
Inscription : septembre 2006
Messages : 2 292
Points : 2 740
Points : 2 740
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…
JeitEmgie est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 12h57.


 
 
 
 
Partenaires

Hébergement Web