安装pljava
pljava是pgsql跟java的桥接,安装以后就可以在pgsql里面调用java了。这里记录一下我在ubuntu server下安装的过程 1. 下载源码编译 很简单,下载,解压,设置一下JAVA_HOME(如果没设的话),然后make 2. 把生成的build目录里面的所有内容安装到任一地方,我的是/opt/PostgreSQL/pljava $ ls -l /opt/PostgreSQL/pljava 总用量 212 drwxr-xr-x 5 test test 4096 2012-06-07 13:20 classes -rw-r--r-- 1 test test 5258 2012-06-07 13:19 deploy.jar -rw-r--r-- 1 test test 43281 2012-06-07 13:20 examples.jar drwxr-xr-x 2 test test 4096 2012-06-07 13:19 jni drwxr-xr-x 3 test test 4096 2012-06-07 13:20 objs -rw-r--r-- 1 test test 150172 2012-06-07 13:19 pljava.jar 3. 将objs/pljava.so复制到$PG_INSTALL/lib/postgresql下面 4. jvm.so必须在系统lib路径里,ubuntu下这么做: cd /etc/ld.so.conf.d vi java.conf 把包含jvm.so的目录写进去,我这里是:/usr/lib/jvm/default-java/jre/lib/amd64/server 然后: ldconfig -v,应该可以在输出里看到jvm.so的装入: /usr/lib/jvm/default-java/jre/lib/amd64/server: libjvm.so -> libjvm.so 5. 修改postgresql.conf并重启pgsql #------------------------------------------------------------------------------ # CUSTOMIZED OPTIONS #------------------------------------------------------------------------------ custom_variable_classes = 'pljava' # list of custom variable class names pljava.classpath = '/opt/PostgreSQL/pljava/pljava.jar' 6. 进到源码的src/sql下面 psql [your_db] <install.sql 应该可以看到相关函数安装成功。另外一种办法是直接用它提供的deploy.jar跑java,我没用。 测试: 在psql中跑如下命令: CREATE FUNCTION getsysprop(VARCHAR) RETURNS VARCHAR AS 'java.lang.System.getProperty' LANGUAGE java; SELECT getsysprop('user.home'); 应该可以看到通过java获取的用户路径。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |