Bonjour,
Mon hébergeur a mis à ma disposition phppgadmin pour administrer postgres mais cet outil ne me permet pas de voir les types composites des fonctions.
Existe-t-il une requête pour afficher les types ?
merci
Version imprimable
Bonjour,
Mon hébergeur a mis à ma disposition phppgadmin pour administrer postgres mais cet outil ne me permet pas de voir les types composites des fonctions.
Existe-t-il une requête pour afficher les types ?
merci
Salut,
Oui tu peux utiliser pgAdmin III qui est plus poussé que phppgmyadmin mais est en version compilée... pour windows et aussi pour linux il me semble... si tu as un accès externe à ta bd ou que tu peux faire un tunnel via ssh sur ton serveur.
Sinon une requête va rendre les types composites sous la forme d'une chaîne texte pour les types composites natifs genre "record", "array"...
qui va contenir des listes d'éléments séparés par des virgules et délimitées par des parenthèses, crochets ou accolades... sauf si c'est un type que tu as fait à la main et pas basé sur les types scalaires natifs.
Normalement, si tu utilises des fonction avec une sortie qui est ou équivaut à un type composite, tu peux simplement faire un select avec dans le from ta fonction appelée sur les paramètres voulus et là le résultat sera vu comme si la fonction était une table...
Par exemple si tu veux lire le résultat de bidule à qui tu passes 5 et 'essai', alors le code est:
Tant que le type que tu crées est constitué de valeur dans des types natifs tu peux le remplacer par un record ou un table dont tu nommes et types les colonnes de manière identique à ton type composite... ça évite de devoir créer un type nommé dans un schéma et devoir y faire allusion partout. ça tient du fait que quand tu crées une table postgresql génère un type composite automatiquement qui correspond à la définition d'une ligne de celle-ci.Code:select * from bidule(5,'essai');
Donc tant que faire se peut, autant faire des type anonymes à base de record ou table surtout si c'est pour typer des retour de fonctions, c'est plus souple...