Após instalar o
PostgreSQL é recomendável que você mantenha seus dados (partição com dados ou sua tablespace) em um disco de alta performance, SSD, por exemplo. RAID, opte por xfs com RAID 1+0. Separe também o seu pg_xlog. Não existe receita para tuning do PostgreSQL, tudo depende dos dados que terá em seu data warehouse, consulte um especialista.
Criar usuários hibuser e pentaho_user para o banco, esse procedimento deve ser realizado como usuário postgres:
su - postgres
$ psql
postgres=#
CREATE USER hibuser password 'password';
CREATE ROLE
postgres=#
create DATABASE hibernate owner hibuser;
CREATE DATABASE
postgres=#
CREATE USER pentaho_user password 'password';
CREATE ROLE
postgres=#
create DATABASE quartz owner pentaho_user;
CREATE DATABASE
postgres=#
create DATABASE sampledata WITH ENCODING 'SQL_ASCII' owner pentaho_user;
CREATE DATABASE
Por enquanto é isto. Para quem deseja ter os relatórios exemplo que vêm com a suíte Pentaho, deve importar os bancos disponíveis no diretório biserver-ce/data/postgresql/.
Importando bases de relatório padrão
NOTA: Caso você deseje os relatórios padrão do Pentaho, siga com estes passos, caso contrário, pule para o próximo item Pentaho.
Base de dados SampleData: esta base contém os dados de exemplo dos relatórios do Pentaho, porém está incompleta.
Clique aqui para baixar o pacote com todas as bases exemplo completas.
# cp /pentaho/biserver-ce/data/postgresql/*.sql /tmp
# chmod 777 /tmp/*.sql
# su - postgres
$ psql sampledata < /tmp/postgresql_sampleData.sql
SET
SET
SET
COMMENT
SET
SET
SET
CREATE TABLE
ALTER TABLE
CREATE TABLE
ALTER TABLE
CREATE TABLE
ALTER TABLE
REVOKE
REVOKE
GRANT
GRANT
(continua...)
Base de dados Quartz: base de "time" utilizado pelo Pentaho.
psql < /tmp/create_quartz_postgresql.sql
ERROR: database "quartz" is being accessed by other users
ERROR: role "pentaho_user" cannot be dropped because some objects depend on it
DETAIL: owner of database quartz
ERROR: role "pentaho_user" already exists
ERROR: database "quartz" already exists
GRANT
You are now connected to database "quartz" as user "pentaho_user".
BEGIN
NOTICE: table "qrtz_job_listeners" does not exist, skipping
DROP TABLE
NOTICE: table "qrtz_trigger_listeners" does not exist, skipping
DROP TABLE
NOTICE: table "qrtz_fired_triggers" does not exist, skipping
DROP TABLE
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "qrtz_triggers_pkey" for table "qrtz_triggers"
CREATE TABLE
(continua...)
Banco de repositórios:
psql < /tmp/create_repository_postgresql.sql
Por natureza de adaptação da transferência de banco de exemplos de relatórios do Pentaho HSQLDB para PostgreSQL, deve-se criar views no banco de dados pois o HSQLDB interpreta suas tabelas em letras maiúsculas, já os bancos PostgreSQL e MySQL deve ser explícito:
# su - postgres
$ psql sampledata
create view customers as select * from "CUSTOMERS";
create view customer_w_ter as select * from "CUSTOMER_W_TER";
create view department_managers as select * from "DEPARTMENT_MANAGERS";
create view employees as select * from "EMPLOYEES";
create view offices as select * from "OFFICES";
create view orderdetails as select * from "ORDERDETAILS";
create view orderfact as select * from "ORDERFACT";
create view orders as select * from "ORDERS";
create view payments as select * from "PAYMENTS";
create view products as select * from "PRODUCTS";
create view quadrant_actuals as select * from "QUADRANT_ACTUALS";
create view time as select * from "TIME";
create view trial_balance as select * from "TRIAL_BALANCE";