Em breve publicarei um post sobre o uso de metamodelos como fontes de dados no PRD. O post de hoje é para ajudá-lo a se preparar, e não traz nada de novo: como instalar Postgres e as bases da Beltrano S/A.
Esse post é uma atualização das instruções de instalação da base de treinamento Beltrano S/A. Você pode seguir este link para conhecer a Beltrano e como ela foi pensada. O texto a seguir apareceu pela primeira no Capítulo 3 do livro Pentaho na Prática.
Instalando e Configurando um Postgres
Para usar as bases OLTP e DW da Beltrano você precisa ter um Postgres instalado e funcionando, bem como conhecer o usuário root e sua senha. Se você já tem um, clique aqui e pule para etapa seguinte. Caso contrário, siga os passos descritos nesta seção para instalar um Postgres em sua máquina.
Se você usa Windows, continue lendo. Se usa Linux, pule para a próxima seção.
Instalar PostgreSQL no Windows XP
As instruções de instalação no Windows estão disponíveis em um e-Book gratuito.
Você pode usar o Calibre ou qualquer outro programa leitor de e-Pubs para lê-lo.
Eu tinha uma licença do WindowsXP e resolvi aproveitá-la para fazer esse tutorial. Pelo mesmo motivo (falta de licença) não existe tutorial para Windows mais novos. Entretanto, a uniformidade entre as versões do Windows deve ser o bastante para que você possa seguir praticamente 100% do tutorial em qualquer versão mais recente do Windows.
Instalar PostgreSQL no Linux
Linux é um sistema operacional com n sabores – distribuições – e é virtualmente impossível cobrir todas. Por isso eu não fiz um livro mostrando como instalar Postgres em Linux, mas fiz para Windows. Vamos ver um passo-a-passo para Debian/Ubuntu. Se não for o suficiente, acesse a página de instalação do PostgreSQL para outros Linuxes.
Esse procedimento funciona em qualquer derivado Debian (como o Ubuntu). Existem opções gráficas, mas a linha de comando é universal e relativamente simples.
- Abra um terminal de comandos;
- Digite,seguido de
\[ENTER\]
:sudo apt-get install postgresql
- Se perguntado, responda Y ou S. Assim que a instalação acabar você terá um banco instalado, configurado e em operação, mas vazio;Em seguida, altere a senha do usuário-padrão, postgres, para algo fácil de lembrar (e potencialmente inseguro), como postgres. Faça assim:
- Entre na conta de usuário Postgres do sistema operacional (aquele que executa o programa do servidor:)
sudo su – postgres
Esse usuário do sistema operacional (postgres) tem permissão para acessar o servidor PostgreSQL diretamente. Ele é criado pelo processo de instalação do banco e recebe uma senha aleatória, que nunca é mostrada ao usuário final. Como não sabemos nem a senha do usuário nem a senha do root do banco, precisamos fazer login na conta de sistema operacional postgres com sudo. Você até pode modificar a senha desse usuário, mas não há razão para isso.
- Agora entre no programa de interface de linha de comando do PostgreSQL, o PSQL, digitando o comando:
psql
- Deve aparecer um prompt, esperando comandos, parecido com isso:
postgres=#
Pronto, você está no prompt do PSQL. Agora altere a senha do usuário do banco (que é diferente do usuário do sistema operacional no qual o banco é executado):
ALTER ROLE postgres with password 'postgres';
ROLE é o usuário, e entre as aspas simples está a nova senha – postgres. Se deu tudo certo, deve aparece uma mensagem como:
ALTER ROLE postgres=#
- Saia do PSQL, digitando
\q
seguido por\[ENTER\]
; - Faça logout da conta postgres, digitando
exit
seguido por\[ENTER\]
.
Agora você tem um servidor PostgreSQL instalado e pronto para ser usado. Sempre que precisar acessá-lo para algo, comande:
psql postgres -U postgres
Se ele pedir senha, ela será postgres
.
Fazer o Postgres Aceitar Qualquer Conexão
Atenção! O procedimento abaixo vai abrir seu PostgreSQL para acesso por qualquer um na mesma rede em que você está! Lembre-se disso ao criar bancos e gravar dados nele. Essa configuração é útil para desenvolvimento, testes, treinamento, mas é perigosa para ambientes de produção ou no caso de dados sensíveis.
- Volte à conta do postgres. Em um terminal, entre novamente:
sudo su – postgres
- Abra o arquivo de configuração
pg_hba.conf
para edição com seu editor de textos favorito. Nosso exemplo usa o nano:nano etc/postgresql/X.Y/main/pg_hba.conf
- Vá até o final do arquivo e insira a seguinte linha:
host all all 0.0.0.0/0 md5
Isso vai fazer com que o servidor aceite conexões de qualquer IP, desde que forneça usuário (postgres) e senha (postgres) para qualquer banco;
- Salve o arquivo (nano: CTRL+O) e depois saia do editor (nano: CTRL+X);
- Agora edite o arquivo de configuração do servidor
postgres.conf
:nano etc/postgresql/X.Y/main/postgresql.conf
- Role o arquivo até encontrar a linha com
listen_addresses
; - Altere localhost para
*
. Isso vai fazer com que o servidor passe a ouvir conexões de qualquer IP; - Salve o arquivo (nano: CTRL+O) e depois saia do editor (nano: CTRL+X);
- Re-inicie o servidor:
/etc/init.d/postgresql restart
- Finalmente saia da conta de usuário postgres:
exit
A partir de agora qualquer cliente PostgreSQL pode se conectar ao seu servidor.
Dica: se você for adotar o PostgreSQL como banco para sua empresa, contrate suporte especializado e treine pelo menos um DBA. Você faria isso com Oracle e MS SQL Server, porque vai deixar de fazer com PostgreSQL (ou MySQL)?
Instalando as Bases
Primeiro, instale as bases:
- Baixe-as destes links (clique nos nomes dos bancos:)
- Beltrano (OLTP) (arquivo
beltrano_oltp_10k_pedidos.backup.zip
;) - Beltrano DW (arquivo
beltrano_dw.backup.zip
;) - Beltrano Log (arquivo
beltrano_log.backup.zip
;)
- Beltrano (OLTP) (arquivo
- Descompacte-as em um diretório conhecido e sem espaços no path. Por exemplo,
C:\
no Windows e/opt/beltrano
no Linux. - Se você usa Linux, não se esqueça de mudar as permissões dos arquivos (já descompactados) com um
chmod 777 *.backup
.Usando o PSQL (interface de linha de comando do Postgres), conecte-se ao servidor, crie um banco vazio para cada base e restaure-as neles: - Rode o PSQL:
- Windows: rode o programa SQL Shell, que fica em Menu Iniciar -> Programas -> Posgtres <Versão> -> SQL Shell (psql);
- Linux: abra um terminal e comande
psql -U postgres
. Isso vai conectar você ao servidor localhost, porta 5432, banco postgres, com usuário postgres;
- Crie o novo banco de dados, comandando:
- Beltrano OLTP:
CREATE DATABASE beltrano;
(inclua o ponto-e-vírgula!); - Beltrano DW:
CREATE DATABASE beltrano_dw;
(não se esqueça do ponto-e-vírgula!); - Beltrano Log:
CREATE DATABASE beltrano_log;
(já sabe, não? Ponto-e-vírgula incluso!);
- Beltrano OLTP:
- Conecte-se a cada uma das bases recém-criadas e restaure-as. Ou seja, ainda no psql, comande (pressionando
\[ENTER\]
ao final de cada linha:)\c beltrano \i /opt/beltrano_oltp_10k_pedidos.backup \c beltrano_dw \i /opt/beltrano_dw.backup \c beltrano_log \i /opt/beltrano_log.backup
Cada um destes comandos terá uma resposta. Os comandos
\i
efetivamente populam o banco, processando cada linha do script, e por isso resulta em uma lista maior de respostas – uma para cada comando do arquivo de backup.
Esse script é para Linux!
Windows: entre os mesmos comandos acima, mas use o caminho c:\, com barra contrária, ao referenciar o arquivo. Por exemplo:
\i c:\beltrano_oltp_10K_pedidos.backup
\i c:\beltrano_dw.backup
\i c:\beltrano_log.backup
Voilà! Bases instaladas e prontas para os exercícios. Você pode comprovar usando o pgAdmin para examinar os bancos e verificar o conteúdo das tabelas.