Índice
A linguagem procedural PL/Python permite que funções e procedimentos do PostgreSQL sejam escritos na linguagem Python.
Para instalar o PL/Python em um banco de dados
específico, deve ser usado o comando
CREATE EXTENSION plpython3u
(mas veja também Python 2 vs. Python 3).
Se uma linguagem for instalada no banco de dados
template1
, todos os bancos de dados criados
posteriormente terão essa linguagem instalada automaticamente.
O PL/Python está disponível apenas como uma linguagem “não confiável” (untrusted), significando que não oferece nenhuma maneira de restringir o que os usuários podem fazer com ela e, portanto, é chamada de plpython3u. Uma variante confiável plpython3 poderá se tornar disponível no futuro, se um mecanismo de execução seguro for desenvolvido em Python. O autor de uma função escrita em PL/Python não confiável deve tomar cuidado para que a função não seja usada para fazer algo indesejado, porque ela poderá fazer qualquer coisa que poderia ser feita por um usuário conectado como administrador do banco de dados. Somente os superusuários podem criar funções em linguagens não confiáveis, como o plpython3u.
Os usuários de distribuição do código-fonte devem ativar especificamente a construção do PL/Python durante o processo de instalação. (Veja Instalação a partir do código-fonte para obter mais informações.) Os usuários de pacotes binários podem encontrar o PL/Python em um pacote separado [182].