[gull] Problème avec PostGreSQL

Martial Guex m.guex at mutech.ch
Sun Aug 10 16:50:02 CEST 2003


On Sunday 10 August 2003 15:17, Jean-Bruno Luginbühl wrote:
> Bonjour,
>
> je m'essaye aux fonctions dans PostGreSQL, mais je n'arrive pas à
> l'écrire correctement. Voici ce qui m'arrive :
>
> lugin=# CREATE FUNCTION no_client() RETURNS INTEGER AS '
> lugin'# BEGIN
> lugin'# IF NEW.num_client!=OLD.num_client THEN
> lugin'# UPDATE factures set factures.num_client=NEW.num_client
> lugin'# WHERE factures.num_client=OLD.num_client;
> lugin'# END IF;
> lugin'# RETURN 1;
> lugin'# END;
> lugin'# ' LANGUAGE 'plpgsql';
> ERROR:  language "plpgsql" does not exist
> lugin=#
>
> language plpgsql n'existe pas, je pensais que c'était interne à la base
> de donnée (version 7.3.2) et donc qu'aucun module externe ne sont sensés
> être installé, me trompe-je? Le nom du langage a changé, je n'en ai rien
> vu. Toutes suggestion est bienvenue.
>
> Merci

Il faut executer les instructions sql suivantes sur la bd concernée:

CREATE FUNCTION plpgsql_call_handler ()
  RETURNS LANGUAGE_HANDLER AS 'plpgsql' LANGUAGE C;

CREATE TRUSTED PROCEDURAL LANGUAGE plpgsql HANDLER plpgsql_call_handler;

On peus également le faire sur la bd template1 pour que le language soit 
installé sur les nouvelles bd.

Pour plus d'info:

http://www.postgresql.org/docs/7.3/interactive/xplang-install.html

A+
Martial Guex




More information about the gull mailing list