A lo largo de 3 videos aprenderemos como ejecutar código Python dentro de PostgreSQL, para ellos utilizaremos la extensión llamada Pl/Python3u.



Ejemplo: Suma

create function pysuma(a int, b int) returns int
as $$
    return a + b
$$ language plpython3u;

Ejemplo: Fecha

create or replace function pyfecha(secs int) returns bool
as $$
    import time
    import os

    os.system("date >> /tmp/fecha.txt")
    time.sleep(secs)
    os.system("date >> /tmp/fecha.txt")

    return True

$$ language plpython3u;

Ejemplo: Consultando Tablas

create or replace function pytabla( espera int, db varchar ) returns table (
    codigo integer, descripcion varchar)
as $$


    import psycopg
    import time

    con = psycopg.connect('dbname='+ db + ' host =127.0.0.1 user=compendium password=apesol')
    time.sleep(espera)

    qry="select id from t1"
    cur = con.cursor()
    cur.execute(qry)

    res = cur.fetchall()
    retorno = []
    for dato in res:
        id = dato[0]
        otrodato = "CODIGO:" + str(id)
        retorno.append( (id, otrodato) )

    return retorno

$$ language plpython3u;

Impactos: 5

Categories:

Comments are closed