Ok essa ideia é interessante estou usando o PostgreSQL 9.5 e no console se eu digitar CREATE LANGUAGE plpythonu; a linguagem python está disponível. Mas como posso receber todo o banco de dados e as alterações periódicas do banco de dados no meu Broker.
CREATE FUNCTION publishChanges ()
RETURNS integer
AS $$
import paho.mqtt.client as mqtt
import paho.mqtt.publish as publish
#client = mqtt.Client()
#client.connect("localhost", 1883, 60)
publish.single("test/data", SELECT * from table ,hostname="127.0.0.1")
#client.loop_forever()
$$ LANGUAGE plpythonu;