Netezza-使UDF函数在多个数据库中可用

LUA 开发人员指南(Netezza Analytics 3.0 的一部分)介绍了如何使用“nzlua”命令“编译” .nzl 函数。不幸的是,当执行“nzlua”命令时,该函数似乎仅在环境变量 NZ_DATABASE 定义的 DB 中可用 - 见下面立即输出的命令。

问题:如何使编译的函数在设备上所有数据库中可用? 即,不改变 NZ_DATABASE 环境变量并针对每个 DB(包括用户沙盒 DB)重新执行 nzlua 命令。

[nz@nzh1p01 examples]$ /nz/extensions/nz/nzlua/bin/nzl nzlua isdate.nzl
Compiling: isdate.nzl
####################################################################
UdxName      =  isdate
UdxType      =  UDF
Arguments    =  VARCHAR(40),VARCHAR(40)
Result       =  BOOL
Dependencies =  INZA.INZA.LIBNZLUA_3_0_0
NZUDXCOMPILE OPTIONS: (--nullcall --unfenced --mem 2m)
CREATE FUNCTION
点赞
用户2682662
用户2682662
该函数应该在所有数据库中都可用,但您需要使用完整路径来调用它。Database..function

将该函数在所有数据库中都提供,但需要通过完整路径来调用。Databas e..function

2014-03-08 16:25:47
用户5965730
用户5965730

将函数注册的数据库添加到 /nz/data/postgresql.conf 文件的"search_path" 环境变量中。然后就可以在任何地方引用该函数 :-)

2016-02-22 23:24:57