Saludos a toda la lista.
Estoy usando PL/Python para poder conectarme a Neo4j desde PostgreSQL, y cuando trato de ejecutar el código me está arrojando un SocketError: Permission denied.

Este error generalmente Python lo arroja cuando se está tratando de iniciar un servicio que escuche por un puerto por debajo de 1024 y se hace con un usuario que no tiene privilegios para hacerlo. Ahora mi duda es si para la ejecución de alguna función en PL/Python, PostgreSQL internamente use un puerto de estos.

Aquí les dejo el código de la función, que al final lo que hace es conectarse al grafo de Neo4j y buscar si un nodo existe en el mismo. Neo4j usa el puerto 7474 para esto:
------------------------------------------------------------------------------------------------------------------
 CREATE OR REPLACE FUNCTION buscar_nodo_estudiante(nombre_est text)
  RETURNS text AS
$BODY$
from py2neo import Graph
from py2neo.cypher import CypherTransaction
graph = Graph("http://neo4j:neo4j@10.8.45.146:7474/db/data";)
tx = graph.cypher.begin()

sentencia = "MATCH (ee:Estudiante) WHERE ee.nombre = {name} RETURN ee;"
tx.append(sentencia, parameters={'name': nombre_est})
estudiante= tx.commit()
if(estudiante):
 print("El estudiante es%\n", estudiante)
else:
 print("El estudiante %s no esta dentro del grafo.%\n", estudiante)
$BODY$
  LANGUAGE plpythonu VOLATILE
  COST 100;
------------------------------------------------------------------------------------------------------------------------------
Este mismo código lo ejecuto en un script.py y se ejecuta normalmente sin problemas, pero cuando lo ejecuto desde PostgreSQL es que me da el Permission denied. ¿Tienen alguna idea que podría ser esto?
Gracias de antemano.

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a