Atenção: esse artigo tem um vídeo complementar. Clique e assista!

De que trata o artigo?

Descrição e demonstração da preparação do ambiente do banco de dados para receber a máquina virtual Java, utilizando-a para a instalação da linguagem procedural PL/Java e desenvolvimento de funções que usam classes Java.


Para que serve?

Descrever a configuração do servidor de banco de dados para utilizar a linguagem Java. Serve também para mostrar como o PostgreSQL pode ser configurado para reconhecer os objetos compartilhados do Java e do módulo PL/Java, bem como a instalação da linguagem PL/Java.

Em que situação o tema é útil?

Possibilidade de migração das regras de negócio, escritas em Java, da camada de aplicação para o banco de dados, aumentando os recursos do mesmo com a utilização e manipulação direta dos dados pelo Java.

Nesta série de artigos estamos demonstrando a utilização da linguagem PL/Java no PostgreSQL, ampliando ainda mais as possibilidades de desenvolvimento de funções e triggers, através da linguagem Java.

Na primeira parte deste artigo, descrevemos algumas características da linguagem procedural PL/Java, e mostramos como os módulos, classes e toda estrutura do Java trabalha junto com o backend do SGBD, para que as funções e triggers utilizem as classes Java desenvolvidas.

Nesta segunda parte, descreveremos como preparar um servidor de banco de dados PostgreSQL para utilizar o PL/Java no desenvolvimento de funções. Preparação esta que vai desde a instalação da JVM (a máquina virtual Java), passando pela configuração do PostgreSQL, até a instalação propriamente dita da linguagem.

A versão do PL/Java aqui discutida é a 1.4.0, com o PostgreSQL na versão 8.3.7, em ambiente Linux (CentOS 5.2).

Pré-requisitos para Execução do PL/Java

Antes de iniciarmos o download e instalação do PL/Java, precisamos ter instalado no servidor de banco de dados:

  • PostgreSQL com versão a partir da 8.0.3 (detalhes e comentários para cada versão acima ou abaixo desta, podem ser vistos na primeira parte deste artigo);
  • O driver JDBC do PostgreSQL (necessário apenas se for utilizado o programa Deployer – comentado mais a frente – para instalação do PL/Java);
  • Runtime do Java (JRE) com versão a partir da 1.4 ou GCJ a partir da 4.0.x (apenas para Linux).

Configuração do Ambiente do Servidor

Como um dos pré-requisitos para o funcionamento do PL/Java, precisamos instalar o runtime do Java no servidor de banco de dados. Para isso, devemos acessar o site da Sun (ver seção Links) e fazer o download da versão mais recente. Neste artigo foi usado o arquivo jre-6u15-linux-i586-rpm.bin (Java 6, update 15). Feito o download, devemos tornar o arquivo binário executável e instalar o mesmo, com os comandos abaixo:

chmod a+x jre-6u15-linux-i586-rpm.bin
  ./jre-6u15-linux-i586-rpm.bin 

Com o término da instalação e a execução do comando java -version, será obtido o resultado mostrado abaixo. Caso o resultado não seja este, devemos verificar as ocorrências de erros e proceder novamente com a instalação do Java.

 [root@localhost ~]# java -version
  java version "1.6.0_15"
  Java(TM) SE Runtime Environment (build 1.6.0_15-b03)
  Java HotSpot(TM) Client VM (build 14.1-b02, mixed mode, sharing) 

Com o Java instalado, é necessário dizer ao serviço do PostgreSQL (postmaster), bem como às outras aplicações que utilizam o Java, onde encontrar os objetos compartilhados utilizados pelo Java Runtime Environment (JRE).

Falando especificamente do PostgreSQL, esta configuração do Java só se aplica ao postmaster, ou seja, ao processo servidor (backend). Para os clientes, como o psql, isto não é necessário.

Em ambientes Linux/Unix, a variável de ambiente LD_LIBRARY_PATH deve ser configurada como apresentado a seguir. Esta configuração aponta para os diretórios onde estão os objetos compartilhados do Java.

export LD_LIBRARY_PATH=$JAVA_HOME/lib/i386/server:$JAVA_HOME/lib/i386/client:$JAVA_HOME/lib/i386/native_threads

Alternativamente, podemos editar o arquivo /etc/ld.so.conf para incluir os caminhos dos diretórios dos objetos compartilhados do Java (Listagem 1). Esta edição pode ser feita em qualquer editor de texto do Linux, e o objetivo desta modificação é deixar permanente a configuração do path das bibliotecas Java, mesmo depois do boot do servidor.

Depois da alteração do arquivo, devemos recarregar as configurações com o utilitário ...

Quer ler esse conteúdo completo? Tenha acesso completo