greenplum-java函数使用
pljava 使用说明
安装插件
root 用户安装完jdk后 执行 两条命令
echo "$JAVA_HOME/jre/lib/amd64/server" > /etc/ld.so.conf.d/libjdk-1.6.0_21.conf /sbin/ldconfig
下载插件 https://network.pivotal.io/products/pivotal-gpdb/#/releases/5226 注意自己数据库的版本
安装插件
gppkg -i pljava-ossv1.4.0_pv1.3_gpdb4.3orca-rhel5-x86_64.gppkg
重启
gpstop -r
如果失败了 快速停止pg_ctl stop -m fast
导入PL/java 脚本 psql -d mydb -f $GPHOME/share/postgresql/pljava/install.sql
psql -d postgres -f $GPHOME/share/postgresql/pljava/install.sql
停止服务
gpstop -a
快速停止
pg_ctl stop -m fast
启动服务
gpstart -a
使用java函数
准备jar包
HelloWorld.java
public class HelloWorld {
public static String sayHello(String name){
return name + ",Hello!";
}
public static String sayHello_1(){
return "Hello,Hello!";
}
}
manifest.txt
Manifest-Version: 1.0
Main-Class: Example
Specification-Title: "Example"
Specification-Version: "1.0"
Created-By: 1.6.0_35-b10-428-11M3811
Build-Date: 01/20/2013 10:09 AM
编译
javac *.java
打包
jar cfm HelloWorld.jar manifest.txt *.class
上传jar包
gpscp -f ../seg_hosts HelloWorld.jar =:/usr/local/greenplum-db/lib/postgresql/java/
设置Greenplum pljava_classpath服务器配置参
gpconfig -c pljava_classpath -v \'HelloWorld.jar\'
重新加载配置文件
gpstop -u
创建函数
创建函数
create function say_hello(name text)
RETURNS varchar
as 'HelloWorld.sayHello'
LANGUAGE java;
设置classpath
SELECT set_config('pljava_classpath', 'HelloWorld.jar', false);
查询
select say_hello('suncf');