26 de fevereiro de 2012

Instalação passo a passo do Java 7 em S.O. Windows

Vamos realizar a instalação passo a passo do Java 7 no Windows Server 2008, Windows XP, Windows Vista ou Windows 7 em quatro procedimentos, sendo download, instalação, configuração e teste.

Download
Marque a opção de "Accept Licence Agreement" para aceitar a licença.
Verifique a arquitetura do seu Sistema Operacional (SO), e clique na versão correspondente do Java 7 para realizar o download. Para conhecer a arquitetura do seu SO Windows, clique em "Iniciar" e em "Computador", clique com o botão direito do mouse e escolha a opção "Propriedades" no menu que abrirá.
Neste exemplo vou utilizar a versão 32 bit.

Instalação
Após o download, execute o arquivo de instalação do Java 7.
Clique em "Executar" para executar o arquivo.
Clique em "Next" para continuar.
Clique em "Next" para iniciar a cópia dos arquivos.
Clique em "Next" para iniciar a instalação.
Será exibido mensagem de instalação com sucesso. Clique em "Continuar" para iniciar a instalação do "Java FX". O Java FX consiste em uma plataforma de desenvolvimento da Oracle. Apesar do objetivo ser a instalação apenas do Java, vamos concluir a instalação na íntegra, até porque se o seu objetivo é desenvolver, este recurso lhe será util.
Clique em "Next" para continuar.
Clique em "Next" para confirmar o local da instalação e iniciar a instalação.
Será exibido mensagem de conclusão da configuração do "Java FX".

Configuração
A configuração em questão, se refere à variável de ambiente do Java, a "JAVA_HOME". Opcionalmente, as variáveis no SO Windows podem ser configuradas para um determinado usuário ou para o ambiente. Nós vamos configurar a variável para o ambiente, ou seja, valerá para qualquer usuário que logar.
Em nosso exemplo, já sabemos qual o local de instalação do Java, que pode ser visto na ilustração, antes de iniciar a instalação do Java. Caso você tenha dúvida dobre o path de instalação de sua versão do Java, veja como conhecer.
Abra o "Painel de Controle" do Windows e dê um duplo clique no ícone do "Java" para abrir o "Painel de Controle do Java". No "Painel de Controle do Java", selecione a aba "Java".
A coluna "Caminho", identifica o caminho propriamente dito, de instalação do Java. Porém, vamos configurar a variável de ambiente, utilizando o caminho correspondente no MSDOS, onde vamos utilizar nomes com no máximo 8 caracteres.
- Logo o caminho "C:\Program Files\Java\jre7" será utilizado como "C:\Progra~1\Java\jre7"
Se o caminho de sua instalação estiver em português, utilize conforme o exemplo abaixo.
- "C:\Arquivos de Programas\Java\jre7", utilize "C:\Arquiv~1\Java\jre7"
Para configurar a variável de ambiente, clique em "Iniciar", e em "Computador", clique com o botão direito do mouse e escolha a opção "Propriedades" no menu que abrirá, para abrir a janela "Sistema". 
Clique em "Configurações avançadas do sistema", para abrir "Propriedades do sistema".
Clique no botão "Variáveis de Ambiente" para abrir janela de "Variáveis de ambiente".
No group box "Variáveis do sistema", clique no botão "Novo".
Digite o "Nome da variável" JAVA_HOME e o valor da variável, que é o caminho da instalação do Java, lembrando que vamos utilizar o nome baseado no MSDOS. Clique em "OK" para confirmar e em "OK" novamente, para sair da janela de "Variáveis de ambiente".
Realize um logoff, seguido de login para que as configurações sejam efetivadas.

Teste
Abra o "prompt de comando" do MSDOS. Vamos realizar dois testes simples para confirmar se as configurações estão de acordo.
Primeiro, verifique o conteúdo da variável de ambiente configurada.
C:\> set JAVA_HOME
JAVA_HOME=C:\Progra~1\Java\jre7
Depois, verifique a versão do Java, utilizando a variável de ambiente criada.
C:\> %JAVA_HOME%\bin\java -version
java version "1.7.0.03"
java(TM) SE Runtime Environment (build 1.7.0_03-b05)
Java HotSpot(TM) Client VM (build 22.1-b02. mixed mode. sharing)

Caso ocorra algum problema nos testes, revise os procedimentos e/ou a configuração da variável de ambiente.

Veja também:

No mais, é Sob Demanda.
Leia mais ...

21 de fevereiro de 2012

Backup Full PostgreSQL com "pg_dumpall"

Este post é parte integrante doutro principal "Soluções de Backup e Restore para PostgreSQL". Vamos ver de forma sucinta e objetiva como realizar o backup (cópia de segurança) full e restore (restauração do backup) full do PostgreSQL, utilizando respectivamente o "pg_dumpall" e o "psql", que consistem em ferramentas que compõe o referido SGDB.
A principal vantagem do "pg_dumpall", é o backup de todo o cluster, incluindo schemas, bancos de dados, tabelas, templates, usuários e roles, assim como suas permissões.
A facilidade do restore, também pode ser considerado uma vantagem, uma vez que segue o mesmo princípio do backup, que também é full. Esta característica, também pode ser uma desvantagem, devido a dificuldade de restore's parciais.
Os procedimentos serão realizados a partir de um cluster, onde serão utilizados nos exemplos as configurações default:
porta [5432]
usuário [postgres]
host [localhost]
sem tablespace.

Backup full
Sintaxe:
pg_dumpall -p <porta> -U <usuario> -h <host> -f <path/nome_arquivo_backup>
Onde:
porta: porta do cluster
usuario: usuário com perfil superusuário
host: identificação do servidor
path/nome_arquivo_backup: Caminho e Nome do arquivo de backup

Exemplo (com usuário postgres):
~$ pg_dumpall -p 5432 -U postgres -h localhost -f /backup/backup_completo_postgres-AAMMDDhhmm.sql
Exemplo (com usuário root):
~# su - postgres -c 'pg_dumpall -p 5432 -U postgres -h localhost -f /backup/backup_completo_postgres-AAMMDDhhmm.sql' 


Restore full
Sintaxe:
psql -p <porta> -U <usuario> -h <host> < <path/nome_arquivo_backup>
Exemplo (com usuário postgres):
~$ psql -p 5432 -U postgres -h localhost < /backup/backup_completo_postgres-AAMMDDhhmm.sql

Tablespace
É essencial conhecer o caminho e nome de tablespace's no ambiente, a fim de evitar surpresas em caso de restores, uma vez que as pastas deste recurso, exceto quelas default, devem ser criadas previamente, com as devidas permissões aplicadas. Veja como saber se há tablespace's em seu ambiente.
~$ psql -p 5432 -h localhost
psql (9.1.2)
Type "help" for help.
postgres=# \c postgres
You are now connected to database "postgres" as user "postgres".
postgres=# SELECT * FROM pg_tablespace ;
  spcname   | spcowner |   spclocation   | spcacl | spcoptions
------------+----------+-----------------+--------+------------
 pg_default |       10 |                 |        |
 pg_global  |       10 |                 |        |
 sobdemanda |       10 | /opt/sobdemanda |        |
(3 rows)

No exemplo acima, foram listadas três tablespaces, sendo "pg_default" o padrão para criação dos bancos de dados, o "pg_global" que é utilizado para os catálogos do sistemas compartilhados, e "sobdemanda", que consiste em uma tablespace criada para exemplificar este item.

Veja também:

Vale lembrar, que os exemplos acima são básicos e facilitam nossos trabalhos no dia a dia, uma vez estes utilitários possuem outros recursos adicionais, a saber.
Help "pg_dumpall"
~$ pg_dumpall --help
pg_dumpall extracts a PostgreSQL database cluster into an SQL script file.
Usage:
  pg_dumpall [OPTION]...
General options:
  -f, --file=FILENAME         output file name
  --lock-wait-timeout=TIMEOUT fail after waiting TIMEOUT for a table lock
  --help                      show this help, then exit
  --version                   output version information, then exit
Options controlling the output content:
  -a, --data-only             dump only the data, not the schema
  -c, --clean                 clean (drop) databases before recreating
  -g, --globals-only          dump only global objects, no databases
  -o, --oids                  include OIDs in dump
  -O, --no-owner              skip restoration of object ownership
  -r, --roles-only            dump only roles, no databases or tablespaces
  -s, --schema-only           dump only the schema, no data
  -S, --superuser=NAME        superuser user name to use in the dump
  -t, --tablespaces-only      dump only tablespaces, no databases or roles
  -x, --no-privileges         do not dump privileges (grant/revoke)
  --binary-upgrade            for use by upgrade utilities only
  --column-inserts            dump data as INSERT commands with column names
  --disable-dollar-quoting    disable dollar quoting, use SQL standard quoting
  --disable-triggers          disable triggers during data-only restore
  --inserts                   dump data as INSERT commands, rather than COPY
  --no-security-labels        do not dump security label assignments
  --no-tablespaces            do not dump tablespace assignments
  --no-unlogged-table-data    do not dump unlogged table data
  --quote-all-identifiers     quote all identifiers, even if not key words
  --use-set-session-authorization
                              use SET SESSION AUTHORIZATION commands instead of
                              ALTER OWNER commands to set ownership
Connection options:
  -h, --host=HOSTNAME      database server host or socket directory
  -l, --database=DBNAME    alternative default database
  -p, --port=PORT          database server port number
  -U, --username=NAME      connect as specified database user
  -w, --no-password        never prompt for password
  -W, --password           force password prompt (should happen automatically)
  --role=ROLENAME          do SET ROLE before dump
If -f/--file is not used, then the SQL script will be written to the standard
output.
Report bugs to <pgsql-bugs@postgresql.org>.

Help "psql"
~$ psql --help
psql is the PostgreSQL interactive terminal.
Usage:
  psql [OPTION]... [DBNAME [USERNAME]]
General options:
  -c, --command=COMMAND    run only single command (SQL or internal) and exit
  -d, --dbname=DBNAME      database name to connect to (default: "postgres")
  -f, --file=FILENAME      execute commands from file, then exit
  -l, --list               list available databases, then exit
  -v, --set=, --variable=NAME=VALUE
                           set psql variable NAME to VALUE
  -X, --no-psqlrc          do not read startup file (~/.psqlrc)
  -1 ("one"), --single-transaction
                           execute command file as a single transaction
  --help                   show this help, then exit
  --version                output version information, then exit
Input and output options:
  -a, --echo-all           echo all input from script
  -e, --echo-queries       echo commands sent to server
  -E, --echo-hidden        display queries that internal commands generate
  -L, --log-file=FILENAME  send session log to file
  -n, --no-readline        disable enhanced command line editing (readline)
  -o, --output=FILENAME    send query results to file (or |pipe)
  -q, --quiet              run quietly (no messages, only query output)
  -s, --single-step        single-step mode (confirm each query)
  -S, --single-line        single-line mode (end of line terminates SQL command)
Output format options:
  -A, --no-align           unaligned table output mode
  -F, --field-separator=STRING
                           set field separator (default: "|")
  -H, --html               HTML table output mode
  -P, --pset=VAR[=ARG]     set printing option VAR to ARG (see \pset command)
  -R, --record-separator=STRING
                           set record separator (default: newline)
  -t, --tuples-only        print rows only
  -T, --table-attr=TEXT    set HTML table tag attributes (e.g., width, border)
  -x, --expanded           turn on expanded table output
Connection options:
  -h, --host=HOSTNAME      database server host or socket directory (default: "local socket")
  -p, --port=PORT          database server port (default: "5432")
  -U, --username=USERNAME  database user name (default: "postgres")
  -w, --no-password        never prompt for password
  -W, --password           force password prompt (should happen automatically)
For more information, type "\?" (for internal commands) or "\help" (for SQL
commands) from within psql, or consult the psql section in the PostgreSQL
documentation.
Report bugs to <pgsql-bugs@postgresql.org>.

Sem mais, abraço.
Leia mais ...

20 de fevereiro de 2012

Soluções de Backup e Restore para PostgreSQL

Este post, reunirá gradativamente, no decorrer das próximas semanas, algumas opções de backup e restore para aplicação no SGDB PostgreSQL. Eu optei por não colocar todo o conteúdo proposto em um mesmo post, não só pela organização, assim como pela necessidade de parcelamento do tempo, que doarei às matérias. O objetivo é disponibilizar uma solução completa e descomplicada para backup e restore, que estarão organizados de forma a proporcionar o conhecimento de opções distintas e separadas por assunto ou interesse, onde o administrador ou estudante poderá ter entendimento suficiente para decidir qual a melhor forma de aplicação em seu ambiente.
Seguem as opções:
  • Backup Completo PostgreSQL com "pg_dumpall" e "pg_dump" (em breve)
  • Backup PostgreSQL com Point-In-Time Recovery (PITR) (em breve)

Veja também:
Leia mais ...

12 de fevereiro de 2012

Integração do PostgreSQL 9.1 ao Pentaho BI Server CE 3.10.0

Pessoal,
Neste post será mostrado como integrar o PostgreSQL 9.1 ao Pentaho BI Server CE 3.10.0. Podemos atribuir à referida integração, um nível de dificuldade médio, porém, será necessário uma atenção especial para edição dos arquivos, pois uma "tag" que não for fechada, ou a falta da declaração de um driver ou um driver escrito incorretamente, podem comprometer o resultado final.
A integração consiste na migração dos bancos de dados "hibernate" e "quartz" do SGDB HSQLDB, que acompanha o pacote original do Pentaho BI, para o PostgreSQL. No entanto, o HSQLDB vai continuar funcionando no ambiente para prover suporte ao Data Warehouse (DW) SampleData, para mostragem dos testes dos projetos "Steel Wheels" e "BI Developer". Para você que tem interesse em colocar o Pentaho BI em produção, sem os projetos de testes, vamos mostrar em outra oportunidade, aqui no Sob Demanda, como desabilitar o "start" do HSQLDB e desinstalar os projetos de testes do ambiente.


Então, vamos iniciar.
Instalação SGDB PostgreSQL
Se você não estiver com o PostgreSQL instalado, utilize o post Instalação PostgreSQL 9.1 32 bits em distro Debian ou Ubuntu para fazê-lo. O objetivo é integrar o PostgreSQL 9.1 ao Pentaho Bi, más se você já tiver outra versão instalada, os procedimentos podem ser realizados sem problemas, lembrando que apenas o driver jdbc deve corresponder à versão de sua instalação.
Certifique que o serviço do postgres esteja em "up".
~# ps U postgres
  PID TTY      STAT   TIME COMMAND
 6915 pts/0    S      0:00 /opt/postgresql-9.1.0/bin/postmaster -D /opt/postgresql-9.1.0/pgdata
 6923 ?        Ss     0:00 postgres: logger process                                           
 6925 ?        Ss     0:00 postgres: writer process                                           
 6926 ?        Ss     0:00 postgres: wal writer process                                       
 6927 ?        Ss     0:00 postgres: autovacuum launcher process                              
 6928 ?        Ss     0:00 postgres: stats collector process                                  

Instalação dos bancos de dados
Crie a estrutura básica para o Pentaho BI no SGDB.
~# su - postgres
~$ psql -p 5432 -f /opt/pentaho/biserver-ce/data/postgresql/create_repository_postgresql.sql
psql:/opt/pentaho/biserver-ce/data/postgresql/create_repository_postgresql.sql:7: NOTICE:  database "hibernate" does not exist, skipping
DROP DATABASE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_repository_postgresql.sql:8: NOTICE:  role "hibuser" does not exist, skipping
DROP ROLE
CREATE ROLE
CREATE DATABASE
GRANT
You are now connected to database "hibernate" as user "hibuser".
BEGIN
psql:/opt/pentaho/biserver-ce/data/postgresql/create_repository_postgresql.sql:20: NOTICE:  table "datasource" does not exist, skipping
DROP TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_repository_postgresql.sql:22: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "datasource_pkey" for table "datasource"
CREATE TABLE
COMMIT

~$ psql -p 5432 -f /opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:7: NOTICE:  database "quartz" does not exist, skipping
DROP DATABASE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:8: NOTICE:  role "pentaho_user" does not exist, skipping
DROP ROLE
CREATE ROLE
CREATE DATABASE
GRANT
You are now connected to database "quartz" as user "pentaho_user".
BEGIN
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:20: NOTICE:  table "qrtz_job_listeners" does not exist, skipping
DROP TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:21: NOTICE:  table "qrtz_trigger_listeners" does not exist, skipping
DROP TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:22: NOTICE:  table "qrtz_fired_triggers" does not exist, skipping
DROP TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:23: NOTICE:  table "qrtz_paused_trigger_grps" does not exist, skipping
DROP TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:24: NOTICE:  table "qrtz_scheduler_state" does not exist, skipping
DROP TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:25: NOTICE:  table "qrtz_locks" does not exist, skipping
DROP TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:26: NOTICE:  table "qrtz_simple_triggers" does not exist, skipping
DROP TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:27: NOTICE:  table "qrtz_cron_triggers" does not exist, skipping
DROP TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:28: NOTICE:  table "qrtz_blob_triggers" does not exist, skipping
DROP TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:29: NOTICE:  table "qrtz_triggers" does not exist, skipping
DROP TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:30: NOTICE:  table "qrtz_job_details" does not exist, skipping
DROP TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:31: NOTICE:  table "qrtz_calendars" does not exist, skipping
DROP TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:45: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "qrtz_job_details_pkey" for table "qrtz_job_details"
CREATE TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:55: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "qrtz_job_listeners_pkey" for table "qrtz_job_listeners"
CREATE TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:77: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "qrtz_triggers_pkey" for table "qrtz_triggers"
CREATE TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:89: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "qrtz_simple_triggers_pkey" for table "qrtz_simple_triggers"
CREATE TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:100: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "qrtz_cron_triggers_pkey" for table "qrtz_cron_triggers"
CREATE TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:110: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "qrtz_blob_triggers_pkey" for table "qrtz_blob_triggers"
CREATE TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:120: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "qrtz_trigger_listeners_pkey" for table "qrtz_trigger_listeners"
CREATE TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:128: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "qrtz_calendars_pkey" for table "qrtz_calendars"
CREATE TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:135: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "qrtz_paused_trigger_grps_pkey" for table "qrtz_paused_trigger_grps"
CREATE TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:151: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "qrtz_fired_triggers_pkey" for table "qrtz_fired_triggers"
CREATE TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:160: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "qrtz_scheduler_state_pkey" for table "qrtz_scheduler_state"
CREATE TABLE
psql:/opt/pentaho/biserver-ce/data/postgresql/create_quartz_postgresql.sql:166: NOTICE:  CREATE TABLE / PRIMARY KEY will create implicit index "qrtz_locks_pkey" for table "qrtz_locks"
CREATE TABLE
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
INSERT 0 1
COMMIT


~$ psql -p 5432 -f /opt/pentaho/biserver-ce/data/postgresql/create_sample_datasource_postgresql.sql
You are now connected to database "hibernate" as user "hibuser".
BEGIN
INSERT 0 1
COMMIT

Verifique se os bancos foram criados com sucesso.
~$ psql -p 5432
psql (9.1.0)
Type "help" for help.

postgres=# \l
                                        List of databases
   Name    |    Owner     | Encoding |   Collate   |    Ctype    |       Access privileges      
-----------+--------------+----------+-------------+-------------+-------------------------------
 hibernate | hibuser      | UTF8     | pt_BR.UTF-8 | pt_BR.UTF-8 | =Tc/hibuser                  +
           |              |          |             |             | hibuser=CTc/hibuser
 postgres  | postgres     | UTF8     | pt_BR.UTF-8 | pt_BR.UTF-8 |
 quartz    | pentaho_user | UTF8     | pt_BR.UTF-8 | pt_BR.UTF-8 | =Tc/pentaho_user             +
           |              |          |             |             | pentaho_user=CTc/pentaho_user
(3 rows)
 
Backup do sistema de arquivos
Pare os serviços do Pentaho Administration Console (PUC) e Pentaho Administration Console (PAC). Como é de costume, vamos considerar alguns parâmetros de posts anteriores, como o path de instalaçao a ser utilizado, na pasta "/opt/pentaho/", para refereiciar os procedimentos a seguir.
~# cd /opt/pentaho/administration-console
~# ./stop-pac.sh &
~# cd ../biserver-ce/ 
~# ./stop-pentaho.sh &
 
Em seguida, no sistema de arquivos, faça um backup da pasta "biserver-ce".
~# cd /opt/pentaho
~# cp -r biserver-ce biserver-ce.ori

Configurações
Utilizando um editor de sua preferência, altere os arquivos indicados a seguir.
- Arquivo: /opt/pentaho/biserver-ce/tomcat/webapps/pentaho/WEB-INF/web.xml
Inclua o path do repositório de soluções.
Alterar de:
<context-param>
        <param-name>solution-path</param-name>
        <param-value></param-value>
</context-param>
Para:
<context-param>
        <param-name>solution-path</param-name>
        <param-value>/opt/pentaho/biserver-ce/pentaho-solutions</param-value>
</context-param>


Altere a url de acesso utilizando o ip do host.
Altera de:
<context-param>
        <param-name>fully-qualified-server-url</param-name>
        <param-value>http://localhost:8080/pentaho/</param-value>
</context-param>
Para:
<context-param>
        <param-name>fully-qualified-server-url</param-name>
        <param-value>http://192.168.1.10:8080/pentaho/</param-value>
</context-param>


Exclua as informações de start do hiernate e do quartz no hsqldb, mantendo apenas o sampledata.
Alterar de:
<!-- [BEGIN HSQLDB DATABASES] -->
<context-param>
    <param-name>hsqldb-databases</param-name>
    <param-value>sampledata@../../data/hsqldb/sampledata,hibernate@../../data/hsqldb/hibernate,quartz@../../data/hsqldb/quartz</param-value>
</context-param>
<!-- [END HSQLDB DATABASES] -->
Para:
<!-- [BEGIN HSQLDB DATABASES] -->
<context-param>
    <param-name>hsqldb-databases</param-name>
    <param-value>sampledata@../../data/hsqldb/sampledata</param-value>
</context-param>
<!-- [END HSQLDB DATABASES] -->


- Arquivo: /opt/pentaho/biserver-ce/pentaho-solutions/system/applicationContext-spring-security-jdbc.xml
Alterar de:
<!--  This is only for Hypersonic. Please update this section for any other database you are using -->
 <bean id="dataSource"
         class="org.springframework.jdbc.datasource.DriverManagerDataSource">
  <property name="driverClassName" value="org.hsqldb.jdbcDriver" />
  <property name="url"
                 value="jdbc:hsqldb:hsql://localhost:9001/hibernate" />
         <property name="username" value="hibuser" />
         <property name="password" value="password" />
 </bean>
Para:
<!--  This is only for Hypersonic. Please update this section for any other database you are using -->
 <bean id="dataSource"
         class="org.springframework.jdbc.datasource.DriverManagerDataSource">
         <property name="driverClassName" value="org.postgresql.Driver" />
         <property name="url"
                 value="jdbc:postgresql://localhost:5432/hibernate" />
         <property name="username" value="hibuser" />
         <property name="password" value="password" />
 </bean>


- Arquivo: /opt/pentaho/biserver-ce/pentaho-solutions/system/applicationContext-spring-security-hibernate.properties
Alterar de:
jdbc.driver=org.hsqldb.jdbcDriver
jdbc.url=jdbc:hsqldb:hsql://localhost:9001/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.HSQLDialect
Para:
jdbc.driver=org.postgresql.Driver
jdbc.url=jdbc:postgresql://localhost:5432/hibernate
jdbc.username=hibuser
jdbc.password=password
hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect


- Arquivo: /opt/pentaho/biserver-ce/tomcat/webapps/pentaho/META-INF/context.xml
Alterar de:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/pentaho" docbase="webapps/pentaho/">
        <Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
                factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
                maxWait="10000" username="hibuser" password="password"
                driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost/hibernate"
                validationQuery="select count(*) from INFORMATION_SCHEMA.SYSTEM_SEQUENCES" />

        <Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
                factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
                maxWait="10000" username="pentaho_user" password="password"
                driverClassName="org.hsqldb.jdbcDriver" url="jdbc:hsqldb:hsql://localhost/quartz"
                validationQuery="select count(*) from INFORMATION_SCHEMA.SYSTEM_SEQUENCES"/>
</Context>
Para:
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/pentaho" docbase="webapps/pentaho/">
        <Resource name="jdbc/Hibernate" auth="Container" type="javax.sql.DataSource"
                factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
                maxWait="10000" username="hibuser" password="password"
                driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/hibernate"
                />

        <Resource name="jdbc/Quartz" auth="Container" type="javax.sql.DataSource"
                factory="org.apache.commons.dbcp.BasicDataSourceFactory" maxActive="20" maxIdle="5"
                maxWait="10000" username="pentaho_user" password="password"
                driverClassName="org.postgresql.Driver" url="jdbc:postgresql://localhost:5432/quartz"
                />
</Context>


- Arquivo: /opt/pentaho/biserver-ce/tomcat/conf/Catalina/localhost/pentaho.xml
Repita os mesmos procedimentos adotados no arquivo anterior (context.xml).


- Arquivo: /opt/pentaho/biserver-ce/pentaho-solutions/system/quartz/quartz.properties
Na linha 300, alterar de:
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.StdJDBCDelegate
Para:
org.quartz.jobStore.driverDelegateClass = org.quartz.impl.jdbcjobstore.PostgreSQLDelegate


- Arquivo: /opt/pentaho/biserver-ce/pentaho-solutions/system/hibernate/hibernate-settings.xml
Alterar de:
<config-file>system/hibernate/hsql.hibernate.cfg.xml</config-file>
Para:
<config-file>system/hibernate/postgresql.hibernate.cfg.xml</config-file>


- Arquivo: /opt/pentaho/biserver-ce/pentaho-solutions/system/hibernate/postgresql.hibernate.cfg.xml
Apenas confira as configurações:
<property name="connection.driver_class">org.postgresql.Driver</property>
<property name="connection.url">jdbc:postgresql://localhost:5432/hibernate</property>
<property name="dialect">org.hibernate.dialect.PostgreSQLDialect</property>
<property name="connection.username">hibuser</property>
<property name="connection.password">password</property>


- Arquivo: /opt/pentaho/biserver-ce/pentaho-solutions/system/simple-jndi/jdbc.properties
Alterar de:
SampleData/type=javax.sql.DataSource
SampleData/driver=org.hsqldb.jdbcDriver
SampleData/url=jdbc:hsqldb:hsql://localhost/sampledata
SampleData/user=pentaho_user
SampleData/password=password
Hibernate/type=javax.sql.DataSource
Hibernate/driver=org.hsqldb.jdbcDriver
Hibernate/url=jdbc:hsqldb:hsql://localhost/hibernate
Hibernate/user=hibuser
Hibernate/password=password
Quartz/type=javax.sql.DataSource
Quartz/driver=org.hsqldb.jdbcDriver
Quartz/url=jdbc:hsqldb:hsql://localhost/quartz
Quartz/user=pentaho_user
Quartz/password=password
Shark/type=javax.sql.DataSource
Shark/driver=org.hsqldb.jdbcDriver
Shark/url=jdbc:hsqldb:hsql://localhost/shark
Shark/user=sa
Shark/password=
SampleDataAdmin/type=javax.sql.DataSource
SampleDataAdmin/driver=org.hsqldb.jdbcDriver
SampleDataAdmin/url=jdbc:hsqldb:hsql://localhost/sampledata
SampleDataAdmin/user=pentaho_admin
SampleDataAdmin/password=password
Para:
SampleData/type=javax.sql.DataSource
SampleData/driver=org.hsqldb.jdbcDriver
SampleData/url=jdbc:hsqldb:hsql://localhost/sampledata
SampleData/user=pentaho_user
SampleData/password=password
Hibernate/type=javax.sql.DataSource
Hibernate/driver=org.postgresql.Driver
Hibernate/url=jdbc:postgresql://localhost:5432/hibernate
Hibernate/user=hibuser
Hibernate/password=password
Quartz/type=javax.sql.DataSource
Quartz/driver=org.postgresql.Driver
Quartz/url=jdbc:postgresql://localhost:5432/quartz
Quartz/user=pentaho_user
Quartz/password=password
Shark/type=javax.sql.DataSource
Shark/driver=org.hsqldb.jdbcDriver
Shark/url=jdbc:hsqldb:hsql://localhost/shark
Shark/user=sa
Shark/password=
SampleDataAdmin/type=javax.sql.DataSource
SampleDataAdmin/driver=org.hsqldb.jdbcDriver
SampleDataAdmin/url=jdbc:hsqldb:hsql://localhost/sampledata
SampleDataAdmin/user=pentaho_admin
SampleDataAdmin/password=password


Opcionalmente, poderão ser alterados nos arquivos, o usuário, senha e porta visando maior segurança no ambiente, e até mesmo a utilização de um SGDB em host diferente daquele no qual está instalado o serviço do Pentaho BI, apesar de não ser recomendado. 

Driver JDBC
Para concluir, instale o driver jdbc do PostgreSQL. Neste momento, a instalação do driver é para atender à solução de BI e portanto vamos realizar a instalação na pasta "/opt/pentaho/biserver-ce/tomcat/lib". Para utilização de DW utilizando PostgreSQL, o driver deverá ser copiado para a pasta "/opt/pentaho/administration-console/jdbc/", de acordo com a versão do mesmo. 
Em resumo:
Pasta "/opt/pentaho/biserver-ce/tomcat/lib": Driver jdbc da solução de BI.
Pasta "/opt/pentaho/administration-console/jdbc/": Drivers jdbc do(s) DW('s) a ser(em) acessado(s) pela solução.

Faça o download do driver postgresql 9.1 e copie para a pasta do PUC.
~# wget http://jdbc.postgresql.org/download/postgresql-9.1-901.jdbc3.jar -P /opt/pentaho/biserver-ce/tomcat/lib/
--2012-02-12 10:04:33--  http://jdbc.postgresql.org/download/postgresql-9.1-901.jdbc3.jar
Resolvendo jdbc.postgresql.org... 98.129.198.124
Conectando-se a jdbc.postgresql.org|98.129.198.124|:80... conectado.
A requisição HTTP foi enviada, aguardando resposta... 200 OK
Tamanho: 509746 (498K) [application/java-archive]
Salvando em: `/opt/pentaho/biserver-ce/tomcat/lib/postgresql-9.1-901.jdbc3.jar'
100%[===================================================================================================================>] 509.746     77,1K/s   em 6,8s   
2012-02-12 00:04:41 (73,3 KB/s) -`/opt/pentaho/biserver-ce/tomcat/lib/postgresql-9.1-901.jdbc3.jar' salvo [509746/509746]
 Inicialização dos serviços
Inicie os serviços do PUC e o PAC.
~# cd /opt/pentaho/biserver-ce
~# ./start-pentaho.sh &
~# cd ../administration-console/ 
~# ./start-pac.sh &

Utilizando um browser de sua preferência, realize o teste.

Veja também:

No mais, é sob demanda.

Última atualização Fevereiro 22, 2012.
Leia mais ...