我如何 运行 r 从 postgresql 中的包函数

how can I run r function from package in postgresql

我正在尝试直接在 Postgres 中使用 R 包 (https://cran.microsoft.com/snapshot/2017-04-03/web/packages/genasis/index.html) 中的 R 函数,而无需再次重写该函数,因此它可能像:

CREATE OR REPLACE FUNCTION funcname (int x,date date_start,date date_end,text input,text output,text method,int days,text pollutant, numeric temp, numeric wind))
RETURNS float AS 
The_R_fuc_result = package_name.function_name(parmas...)
  return(The_R_fuc_result)
 LANGUAGE 'plr';

我发现所有的案例都是重写函数或者复制函数的内容。 谢谢

函数 genasis::genpastoact 需要一个向量或数据框作为它的第一个参数 x。根据 documentation of plr,输入参数的类型必须是标量或二进制。但是,函数在这里需要一个向量。这导致 postgress 必须创建的要求,例如RDS 对象。 此外,要执行此功能,您不仅需要 postgress 运行,还需要安装了包 genasis 的 R 实例。

这项任务并不简单。大多数人会使用 REST API 构建微服务,而不是允许发送整个表并为每个服务使用不同的语言。这可以存档,例如使用 R 包 plumber、DBI 和 dbplyr。