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');

posted @ 2021-12-07 17:00  wchb  阅读(295)  评论(0编辑  收藏  举报