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