Documentation PostgreSQL 7.4.29 | ||||
---|---|---|---|---|
Pr�c�dent | Arri�re rapide | Avance rapide | Suivant |
Le langage proc�dural PL/Python permet l'�criture de fonctions PostgreSQL avec le langage Python.
Pour installer PL/Python dans une base de donn�es particuli�res, utilisez createlang plpythonu nom_base..
Astuce�: Si un langage est install� dans template1, toutes les bases nouvellement cr��es se verront install�es ce langage automatiquement.
Depuis PostgreSQL 7.4, PL/Python est seulement disponible en tant que langage <<�sans confiance�>> (ceci signifiant qu'il n'offre aucun moyen de restreindre ce que les utilisateurs en font). Il a donc �t� renomm� en plpythonu. La variante de confiance plpython pourrait �tre de nouveau disponible dans le futur, si un nouveau m�canisme s�curis� d'ex�cution est d�velopp� dans Python.
Note�: Les utilisateurs des paquets sources doivent activer sp�cifiquement la construction de PL/Python lors des �tapes d'installation (r�f�rez-vous aux instructions d'installation pour plus d'informations). Les utilisateurs de paquets binaires pourront trouver PL/Python dans un paquet s�par�.
Le code Python que vous �crivez est transform� en une fonction Python. C'est-�-dire que
CREATE FUNCTION ma_fonction(text) RETURNS text AS 'return args[0]' LANGUAGE plpythonu;
se voit transform� en
def __plpython_procedure_ma_fonction_23456(): return args[0]
en supposant que 23456 est l'OID de la fonction.
Si vous ne fournissez pas de valeur de retour, Python renvoie par d�faut None. Le module du langage traduit le None de Python en la valeur NULL en SQL.
Les param�tres de fonctions avec PostgreSQL sont disponibles
dans la liste globale args. Dans l'exemple
ma_fonction
, args[0] contient ce qui a �t�
pass� dans l'argument texte. Pour
ma_fonction2(text, integer), args[0]
contiendrait l'argument de type text et
args[1] l'argument de type integer.
Le dictionnaire global SD est disponible pour stocker des donn�es entres les appels de fonctions. Cette variable est une donn�e statique priv�e. Le dictionnaire global GD est une donn�e publique disponible pour toutes les fonctions Python � l'int�rieur d'une session. � utiliser avec pr�caution.
Chaque fonction obtient son propre environnement d'ex�cution dans
l'interpr�teur Python, de fa�on � ce que les donn�es globales et les
arguments de fonction provenant de ma_fonction
ne soient
pas disponibles depuis ma_fonction2
. L'exception
concerne les donn�es du dictionnaire GD comme indiqu�
ci-dessus.
Pr�c�dent | Sommaire | Suivant |
Fonctionnalit�s absentes | Niveau sup�rieur | Fonctions de d�clencheurs |