javascript - 从 postgres 函数运行 python 或 javascript 文件?

标签 javascript python postgresql

如何从 postgres 函数运行 python 或 javascript 文件?

我有两个结构完全不同的 postgres 数据库。

但我需要同步这两个数据库。

我会用任何语言(python、java、javascript、node)编写从本地数据库读取数据并写入服务器数据库的脚本。

但主要问题是:

我不知道如何从 postgres 过程或函数中调用该脚本。

所以问题是:

我们如何从 postgres 过程中调用或运行任何脚本?

最佳答案

使用plperlplpythonpljava 并使用该语言的系统实用程序。即在 plpython 中使用 subprocess,在 java 中使用 Runtime.getRuntime().exec 等等:

例如在plpython中:

CREATE LANGUAGE plpythonu; -- create language if does not exist

CREATE OR REPLACE FUNCTION venue.test_execute()
  RETURNS void AS
  $BODY$
  import subprocess
  subprocess.call(['/path/to/script/test.py'])

  $BODY$
LANGUAGE plpythonu;

SELECT venue.test_execute();

注意事项

实际上您可以从 Postgres 函数启动脚本,但这不是在数据库之间同步数据的首选方式。您可能会遇到与脚本和数据的绝对和相对路径以及文件系统权限相关的问题。而是使用数据库函数以已知格式导出数据并从数据库外部调用同步脚本。另一个选项是使用 dblink模块。

关于javascript - 从 postgres 函数运行 python 或 javascript 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33317582/

相关文章:

python - 当第二个 csv 具有相同的第一行时在 csv 中添加行

python - 提取数据帧列匹配的行索引

java - 测试用例后使用SQL回滚,但被测方法使用commit

java - 延迟初始化: failed to lazily initialize a collection

javascript - 如果第二次单击该按钮,页面会刷新 - 如何防止这种情况发生?

javascript - Facebook 是否知道我正在使用 PhantomJS 抓取它,并且它可以更改其网站来对抗我吗?

python - 读取 Unicode 文件 - Python3.2

PostgreSQL 无法连接到服务器 : No such file or directory

javascript - 如何使用jquery格式化数字

javascript - 你如何使用 RXjs 随着时间的推移发出一组值?