Table des matières
Le langage de procédures PL/Python permet l'écriture de fonctions et de procédures PostgreSQL avec le langage Python (mais voir aussi Section 44.10).
Pour installer PL/Python dans une base de données particulières, utilisez
CREATE EXTENSION plpython3u
.
Si un langage est installé dans template1
, toutes les bases
nouvellement créées se verront installées ce langage automatiquement.
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
plpython3u
. 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. Le codeur
d'une fonction dans PL/Python sans confiance doit faire attention à ce que
cette fonction ne puisse pas être utilisée pour réaliser quelque chose qui
n'est pas prévue car il sera possible de faire tout ce que peut faire un
utilisateur connecté en tant qu'administrateur de la base de données. Seuls
les superutilisateurs peuvent créer des fonctions dans des langages sans
confiance comme plpython3u
.
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é.