来自 R DBI 的 Redshift 中的用户定义函数
Posted
技术标签:
【中文标题】来自 R DBI 的 Redshift 中的用户定义函数【英文标题】:User defined function in Redshift from R DBI 【发布时间】:2016-09-02 19:06:32 【问题描述】:我正在使用 DBI 包从 R 中访问 Amazon Redshift DB (PostgresSQL)。我尝试定义这个开源函数Colpivot来转置一个表:
colpivot.string <- "create or replace function colpivot(
out_table varchar, in_query varchar, ...."
dbGetQuery(con, colpivot.string)
我的错误:
postgresqlExecStatement(conn, statement, ...) 中的错误: RS-DBI 驱动程序:(无法检索结果:错误:语言 plpgsql 不支持创建函数。
如何定义这个函数并通过 R 在我的 redshift 表上使用它?谢谢!
【问题讨论】:
【参考方案1】:如果您尝试在 Redshift 上创建存储过程,Redshift 不支持用户定义的函数、存储过程。
见http://docs.aws.amazon.com/redshift/latest/dg/c_unsupported-postgresql-features.html
【讨论】:
从版本 1.0.7287(2019 年 4 月下旬)开始,Amazon Redshift 现在支持存储过程。请查看文档"Creating Stored Procedures in Amazon Redshift",了解有关开始使用存储过程的更多信息。以上是关于来自 R DBI 的 Redshift 中的用户定义函数的主要内容,如果未能解决你的问题,请参考以下文章