Documentation PostgreSQL 17.10 » Programmation serveur » PL/Python -- Langage de procédures Python

Précédent Niveau supérieur Suivant
43.8. PL/Perl sous le capot Sommaire 44.1. Fonctions PL/Python

Chapitre 44. PL/Python -- Langage de procédures Python

Table des matières

44.1. Fonctions PL/Python
44.2. Valeur des données avec PL/Python
44.2.1. Type de données
44.2.2. Null, None
44.2.3. Tableaux, Listes
44.2.4. Types composites
44.2.5. Fonctions renvoyant des ensembles
44.3. Partage de données
44.4. Blocs de code anonymes
44.5. Fonctions de triggers
44.6. Accès à la base de données
44.6.1. Fonctions d'accès à la base de données
44.6.2. Récupérer les erreurs
44.7. Sous-transactions explicites
44.7.1. Gestionnaires de contexte de sous-transaction
44.8. Gestion des transactions
44.9. Fonctions outils
44.10. Python 2 versus Python 3
44.11. Variables d'environnement

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ère, utilisez CREATE EXTENSION plpython3u.

Astuce

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.

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é.

AltStyle によって変換されたページ (->オリジナル) /