开发者社区 问答 正文

如何使用Create Library 命令

为支持用户导入自定义软件包,HybridDB for PostgreSQL 引入了 Create/Drop Library 命令。使用此命令创建 PL/Java 的 UDF 的示例,请参见 PL/Java UDF 的使用
Create/Drop Library 命令的使用方法如下。

语法CREATE LIBRARY library_name LANGUAGE [JAVA] FROM oss_location OWNER ownername
CREATE LIBRARY library_name LANGUAGE [JAVA] VALUES file_content_hex OWNER ownername
DROP LIBRARY library_name




[backcolor=transparent]参数说明:


  • library_name:要安装的库的名称。若已安装的库与要安装的库的名称相同,则必须先删除现有的库,然后再安装新库。

  • LANGUAGE [JAVA]:要使用的语言。目前仅支持 PL/Java。

  • oss_location:包文件的位置。您可以指定 OSS 存储桶和对象名称,仅可以指定一个文,且不能为压缩文件。其格式为:oss://oss_endpoint filepath=[folder/[folder/]...]/file_name id=userossid key=userosskey bucket=ossbucket


  • file_content_hex:文件内容,字节流为 16 进制,例如“73656c6563742031”(“select 1”的16进制字节流)。借助这个语法,可以直接导入包文件,不必通过OSS。

  • ownername:指定用户。

  • DROP LIBRARY:删除一个库。


示例


  • 示例 1:安装名为 analytics.jar 的 jar 包。create library example language java from 'oss://oss-cn-hangzhou.aliyuncs.com filepath=analytics.jar id=xxx key=yyy bucket=zzz';


  • 示例 2:直接导入文件内容,字节流为 16 进制。create library  pglib LANGUAGE java VALUES '73656c6563742031' OWNER "myuser";


  • 示例 3:删除一个库。drop library example;


  • 示例 4:查看已经安装的库。select name, lanname from pg_library;

展开
收起
云栖大讲堂 2017-11-01 11:16:06 2055 分享 版权
阿里云 AI 助理回答

HybridDB for PostgreSQL 是阿里云提供的一种支持大规模数据的在线分析处理(OLAP)数据库服务,它基于PostgreSQL并针对大数据分析场景进行了优化。您提到的Create/Drop Library命令是用于在HybridDB for PostgreSQL中管理用户自定义软件包(通常是Java库,用于扩展数据库功能,如用户自定义函数UDF)的重要工具。

创建库命令示例

使用OSS存储位置安装

当您的库文件(例如.jar文件)存储在阿里云对象存储服务(OSS)上时,可以使用如下命令安装:

CREATE LIBRARY example LANGUAGE JAVA FROM 'oss://oss-cn-hangzhou.aliyuncs.com filepath=analytics.jar id=xxx key=yyy bucket=zzz';

这里,example是您给库起的名字,oss://oss-cn-hangzhou.aliyuncs.com是OSS的Endpoint,filepath=analytics.jar指定了OSS上的文件路径,而id=xxx key=yyy bucket=zzz是用来认证和定位OSS存储桶的凭证信息。

直接导入文件内容

如果库文件较小,或者您直接拥有文件的16进制字节流,可以直接通过以下命令创建库:

CREATE LIBRARY pglib LANGUAGE JAVA VALUES '73656c6563742031' OWNER "myuser";

在这个例子中,pglib是库名,'73656c6563742031'代表了“select 1”的16进制字节表示,OWNER "myuser"指定了库的所有者。

删除库命令

要删除已安装的库,使用DROP LIBRARY命令,例如:

DROP LIBRARY example;

查看已安装库

要查看当前数据库中已经安装的所有库,可以执行:

SELECT name, lanname FROM pg_library;

这将返回每个库的名称及其使用的语言。

请注意,在实际操作中,替换命令中的占位符(如xxx, yyy, zzz, myuser等)为实际的值,并确保您有足够的权限来执行这些操作。此外,与任何数据库操作一样,建议在执行前备份相关数据,以防不测。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答