antdb支持用户使用 PL/Java 语言,编写并上传 jar 软件包,并利用这些 jar 包创建用户自定义函数(UDF)。
本文介绍了创建 PL/Java UDF 的示例步骤。
安装PL/JAVA
获取pl/java源码:
- git clone https://github.com/tada/pljava.git
编译PL/JAVA源码:
[adb3.1@intel175 ~]$ cd pljava/
[adb3.1@intel175 pljava]$ mvn clean install
..........
..........
[INFO] Executed tasks
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ pljava-packaging ---
[INFO] Installing /data/adb3.1/pljava/pljava-packaging/pom.xml to /data/adb3.1/.m2/repository/org/postgresql/pljava-packaging/1.6.0-SNAPSHOT/pljava-packaging-1.6.0-SNAPSHOT.pom
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for PostgreSQL PL/Java 1.6.0-SNAPSHOT:
[INFO]
[INFO] PostgreSQL PL/Java ................................. SUCCESS [10:51 min]
[INFO] PL/Java API ........................................ SUCCESS [03:43 min]
[INFO] PL/Java backend Java code .......................... SUCCESS [01:04 min]
[INFO] PL/Java backend native code ........................ SUCCESS [02:16 min]
[INFO] PL/Java Ant tasks .................................. SUCCESS [03:37 min]
[INFO] PL/Java examples ................................... SUCCESS [ 38.669 s]
[INFO] PL/Java packaging .................................. SUCCESS [ 36.859 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 26:06 min
[INFO] Finished at: 2019-02-27T15:30:13+08:00
[INFO] ------------------------------------------------------------------------
安装PL/JAVA
[adb3.1@intel175 ~]$ cd pljava/pljava-packaging/target
[adb3.1@intel175 target]$ pwd
/data/adb3.1/pljava/pljava-packaging/target
[adb3.1@intel175 target]$ java -jar pljava-pg4.0-amd64-Linux-gpp.jar
/data/adb3.1/app/lib/postgresql/libpljava-so-1.6.0-SNAPSHOT.so as bytes
/data/adb3.1/app/share/postgresql/pljava/pljava-1.6.0-SNAPSHOT.jar as bytes
/data/adb3.1/app/share/postgresql/pljava/pljava-api-1.6.0-SNAPSHOT.jar as bytes
/data/adb3.1/app/share/postgresql/pljava/pljava-examples-1.6.0-SNAPSHOT.jar as bytes
/data/adb3.1/app/share/postgresql/extension/pljava.control as lines (ASCII)
/data/adb3.1/app/share/postgresql/pljava/pljava--1.6.0-SNAPSHOT.sql as lines (UTF8)
/data/adb3.1/app/share/postgresql/pljava/pljava--unpackaged--1.6.0-SNAPSHOT.sql as lines (UTF8)
/data/adb3.1/app/share/postgresql/pljava/pljava--1.5.2--1.6.0-SNAPSHOT.sql as lines (UTF8)
/data/adb3.1/app/share/postgresql/pljava/pljava--1.5.1--1.6.0-SNAPSHOT.sql as lines (UTF8)
/data/adb3.1/app/share/postgresql/pljava/pljava--1.5.1-BETA3--1.6.0-SNAPSHOT.sql as lines (UTF8)
/data/adb3.1/app/share/postgresql/pljava/pljava--1.5.1-BETA2--1.6.0-SNAPSHOT.sql as lines (UTF8)
/data/adb3.1/app/share/postgresql/pljava/pljava--1.5.1-BETA1--1.6.0-SNAPSHOT.sql as lines (UTF8)
/data/adb3.1/app/share/postgresql/pljava/pljava--1.5.0--1.6.0-SNAPSHOT.sql as lines (UTF8)
/data/adb3.1/app/share/postgresql/pljava/pljava--1.5.0-BETA3--1.6.0-SNAPSHOT.sql as lines (UTF8)
/data/adb3.1/app/share/postgresql/pljava/pljava--1.5.0-BETA2--1.6.0-SNAPSHOT.sql as lines (UTF8)
/data/adb3.1/app/share/postgresql/pljava/pljava--1.5.0-BETA1--1.6.0-SNAPSHOT.sql as lines (UTF8)