将Postgresql数据库中的文本作为Python代码执行
如果我有保存在Postgresql数据库中的文本,有没有办法将该文本作为Python代码执行,并可能让它更新相同的数据库将Postgresql数据库中的文本作为Python代码执行,python,postgresql,Python,Postgresql,如果我有保存在Postgresql数据库中的文本,有没有办法将该文本作为Python代码执行,并可能让它更新相同的数据库 听起来很可怕 对 PL/Python是postgres的一个扩展,允许您用Python编写函数。您可能必须从软件包管理器安装扩展,或者在安装postgres时,它可能已经捆绑在一起(这取决于您如何在debian中安装postgresapt get install postgresql-plpython-9.1) 要在数据库中启用扩展,请首先使用psql运行: CREATE E
apt get install postgresql-plpython-9.1
)
要在数据库中启用扩展,请首先使用psql运行:
CREATE EXTENSION plpythonu
现在,您可以使用python指定函数,这样您就可以编写一个函数来执行该代码,如下所示:
CREATE FUNCTION eval_python(code text) RETURNS integer AS $$
eval(code)
return 1
$$ LANGUAGE plpythonu;
并对my_table
中的每个code
字段执行它,如:
SELECT eval_python(code) FROM my_table;
请阅读上的文档,了解有关如何从python与db交互的更多详细信息。让我看看我是否了解您试图实现的目标:
删除表…
pyodbc
或其他方法)eval
-这将允许您执行任何代码,包括自更新代码你确定这就是你想要做的吗?在你的plpy链接上没有看到任何提示它可以按我的要求做的内容。你有一个例子吗?更新了一个例子,但没有更多地了解真正的问题,它有点模糊。