Irei ensinar como instalar plpython3u que da a possibilidade de rodar comandos Python dentro do PostgreSQL no sistema operacional Linux Debian 11.
A versão que utilizarei para instalar é o PostgreSQL 13 porém é bem similar a instalação para qualquer outra versão do PostgreSQL.
Importante frisar que deve adicionar o repositório do PostgreSQL no Linux Debian.
Para isso basta seguir as instruções do site oficial do PostgreSQL no link https://www.postgresql.org/download/linux/debian/
Que até o presente momento que posto esse artigo é os seguintes comandos:
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
Claro que supomos que o repositório já esteja configurado no seu Linux, mas como existem várias formas de instalar o PostgreSQL adicionamos aqui a forma de adicionar o repositório.
Vamos as etapas:
Vamos instalar o Python no seu ambiente Linux Debian, prefira sempre a versão mais estável e atualizada possível.
sudo apt update
sudo apt install python3.10
Para verificar se foi instalado com sucesso verifique a versão do python utilizando o comando abaixo:
python3 --version
vai apresentar a versão instalada do Python 3.
Instalando os pacotes necessários do PostgreSQL para podermos instalar o plpython3u.
sudo apt update
sudo apt install postgresql-contrib-13
sudo apt install postgresql-plpython3-10
Reinicie o servidor postgresql com o comando:
sudo systemctl restart postgresql
Assim os novos pacotes serão reconhecidos pelo servidor PostgreSQL.
Configurando o plpython3u no PostgreSQL.
Abra sua ferramenta favorita para acessar o SGDB PostgreSQL, acesse o banco de dados que deseja disponibilizar o Python.
Feito isso rode o comando:
CREATE EXTENSION plpython3u;
Para verificar se a linguagem python já está disponível você pode listar as linguagens disponíveis através do seguinte comando SELECT:
SELECT * FROM pg_language;
Se o Python aparecer na lista é que o mesmo já pode ser utilizado.
Vou dar um pequeno exemplo de como utilizar o plpython3u em uma função do PostgreSQL, sendo assim será possível clarear um pouco mais de como utilizar.
CREATE OR REPLACE FUNCTION f_python_helloworld() RETURNS character varying
LANGUAGE 'plpython3u' AS
$BODY$
txt = 'Hello World'
print(txt)
return txt
$BODY$;
Espero que tenha ajudado você na sua missão de utilizar Python dentro do PostgreSQL e que todo o potencial que o Python tem possa abrir muitas possibilidades para seus softwares, recursos, etc...
Até o próximo artigo.
Seja o primeiro a comentar o nosso artigo!