PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

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

#1 Re : Général » Recuperation definition corps fonction » 23/06/2011 09:55:25

Bonjour,

J'avais bien vu la colonne mais je pensais qu'elle était vide.
Il y a des sauts de lignes à la fin des fonctions et je ne voyais que la dernière ligne.

Merci pour votre aide.

Cordialement.
Abdou

#2 Général » Recuperation definition corps fonction » 21/06/2011 15:36:34

abdouB
Réponses : 2

Bonjour,


J'aurai voulu savoir comment je peux récupérer la définition ou le corps des fonctions en PostgreSQL via une requête.
Je m'explique, soit la fonction

CREATE OR REPLACE FUNCTION esadajdata.countdossiers(OUT metier_out character varying, OUT nombre_out integer)
  RETURNS SETOF record AS
$BODY$
DECLARE

mainQuery varchar:='';
cursorRecord record;
 
BEGIN
	
END;
$BODY$
  LANGUAGE plpgsql VOLATILE
  COST 100
  ROWS 1000;
ALTER FUNCTION schema.countdossiers() OWNER TO role1;
GRANT EXECUTE ON FUNCTION schema.countdossiers() TO role2;
GRANT EXECUTE ON FUNCTION schema.countdossiers() TO role3;

J'aurai voulu savoir si je pouvais avoir une requête qui me donne la liste des fonctions dans une colonne et le corps de la fonction dans une autre (pour les fonctions en plpgsql).


Je sais qu'avec les vues je peux récupérer l'ensemble de la définition des vues en effectuant un :

SELECT *
FROM pg_views

J'ai vu qu'il existe une table pg_proc qui a l'air de contenir la définition des fonctions mais je ne trouve pas le corps....


Cordialement
Abdou

#3 Re : Optimisation » VUE - ne pas calculer les champs non retournés » 18/02/2011 10:53:42

Bonjour,

Je me doutais bien que cela ne devait pas être possible.
En tout cas merci pour vos réponses.

Cordialement
Abdou

#4 Optimisation » VUE - ne pas calculer les champs non retournés » 17/02/2011 18:18:33

abdouB
Réponses : 4

Bonjour,

J'aurai aimé avoir un peu d'aide sur le paramétrage des vues postgres.
J'ai une vue qui est composée de champs.
Parmis ces champs un champs est calculé et le temps de calcul de ce champ est excessivement long .
Appelons le champsAvecProbleme.

Si je fais un :
SELECT MAX( champSansProbleme ) FROM maVue;

bien que je fasse un max sur un autre champ que le champ à problème. Le temps d'exécution est extrêmement long.

Dans le cas ou j'ai besoin de ce champs, il est toujours accompagné d'une clause WHERE qui me réduit les temps de calculs....

D'où ma question :
Existe t il un moyen de ne pas calculer ce champs lorsque je n'y accède pas ???

Merci
Abdou

Pied de page des forums

Propulsé par FluxBB