如何在 netezza 中找到安装了 SQL Extensions Toolkit 的数据库名称?

How to find the database name in netezza in which SQL Extensions Toolkit is intalled?

我正在尝试找出安装了 SQL Extensions Toolkit 的数据库。

列出所有数据库运行:

select database
from _v_database

对每个数据库尝试此命令,直到它工作,即安装了 Sql 扩展的数据库。

select {databaseName}.admin.greatest(1,2)

要记住的一件事是 SQL Extension Toolkit 是用户定义函数的集合,它们可以安装在多个数据库中,并且每个安装可以处于不同的级别。

如果您有权访问 Netezza 主机,则可以使用 nz_find_object 查找每个 SQL 扩展安装中的 REGEXP_VERSION 函数(然后还会告诉您安装了什么版本)。

[nz@netezza ~]$ /nz/support/bin/nz_find_object REGEXP_VERSION

  The Object Name Is   | It Is Of Type | Its 'objid' Is | In The Database | In The Schema 
-----------------------+---------------+----------------+-----------------+---------------
 REGEXP_VERSION#239027 | FUNCTION      |         239027 | SQLEXT          | ADMIN
(1 row)

或者你可以使用这个 SQL:

select OBJNAME, DATABASE from _t_object o
left outer join _v_database d on o.objdb = d.objid
where OBJNAME like 'REGEXP_VERSION#%';
        OBJNAME        | DATABASE 
-----------------------+----------
 REGEXP_VERSION#239027 | SQLEXT
(1 row)

select sqlext..REGEXP_VERSION();                                                                            REGEXP_VERSION                                    
--------------------------------------------------------------------------------------
 IBM Netezza SQL Extensions XML / Regular Expression Library Version 7.2.1.3 Build ()
(1 row)