PL/pgSQL (PL pour Programming Language) est le langage de programmation procédural le plus populaire utilisé à l'intérieur de PostgreSQL. Il permet de créer des fonctions (semblables aux procédures stockées) et des triggers en utilisant des structures de contrôle, des boucles, du SQL, etc. Sa syntaxe fait penser au PL/I et compte de nombreuses similitures avec le PL/SQL d'Oracle. À titre de comparaison, PL/pgSQL est aussi l'équivalent du T-SQL de SQL Server.
Lorsqu'on crée une nouvelle base de données, le langage PL/pgSQL n'est pas présent par défaut (à moins d'avoir créé la base de données à partir d'un template qui le possédait déjà. Sinon, le langage doit être créé pour chaque base de données). À partir de PostgreSQL 8.1, la façon la plus simple pour créer le langage est d'exécuter l'énoncé SQL suivant :
CREATE LANGUAGE "plpgsql";
Cet énoncé permettra d'omettre de spécifier les fonctions Handler et Validator puisque la version 8.1 possède une liste d'arguments prédéfinis sur lesquels il se basera pour créer le nouveau langage. Ces arguments sont inscrits dans chacune des bases de données, dans la table pg_pltemplate qui se trouve dans le schéma pg_catalog.
Autrement, il faudra procéder de façon manuelle en créant la fonction Handler qui permettra d'indiquer au système de quelle façon il devra interpréter et exécuter le code, ainsi que la fonction Validator qui s'assurera de valider la définition d'une fonction, sans toutefois l'exécuter.
CREATE FUNCTION plpgsql_call_handler() RETURNS language_handler AS
'$libdir/plpgsql' LANGUAGE C;
CREATE FUNCTION plpgsql_validator(oid) RETURNS void AS
'$libdir/plpgsql' LANGUAGE C;
CREATE TRUSTED PROCEDURAL LANGUAGE "plpgsql"
HANDLER "plpgsql_call_handler"
VALIDATOR "plpgsql_validator";
À noter qu'il est aussi possible d'écrire des fonctions pour PostgreSQL en utilisant d'autres langages comme Java, Perl, Python, Ruby, PHP, etc.
samedi 8 novembre 2008
0 réponse à "Installer le langage PL/pgSQL pour PostgreSQL"
S'abonner à :
Publier des commentaires (Atom)