Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Image Removed

Nota
titleAtenção

Este documento tem como objetivo auxiliar analistas na instalação e configuração básica do banco de dados PostgreSQL em ambientes locais, de desenvolvimento e/ou teste, na plataforma Windows. A instalação e configuração em ambientes de produção não é o foco deste documento.

Para cenários produtivos, utilize o PostgreSQL com Linux.

Informações
titlePré-requisitos

...

  • Conhecimento do Protheus;
  • Noções básicas de instalação de aplicativos em Windows;
  • Familiaridade com terminologias de banco de dados e novas tecnologias.

...

e informações adicionais

Neste manual, demonstramos a instalação do PostgreSQL 12, última versão homologada até a data de publicação deste documento.

...

Aviso
titleAtenção - Ambientes de produção

Em ambientes de produção que o PostgreSQL esteja em ambiente Linux, o ideal é ter um DBA para apoiar na instalação e configuração, por conta de configurações específicas de cenário e tuning no banco de dados.

Informações
titlePreparativos para a instalação
  • Certifique-se de ter espaço em disco suficiente para a instalação. Uma pasta temporária pode ser utilizada para baixar os arquivos de instalação, que podem ser excluídos ao final do procedimento;
  • Obtenha o binário de instalação do PostgreSQL neste link;
  • Obtenha o instalador do ODBC neste link. Neste manual, utilizamos o msi;
  • Baixe o arquivo mais recente disponibilizado.

Instalando o PostgreSQL

Execute o instalador em modo Administrador:

Image Removed

Clique em Next para iniciar o assistente:

Image Removed

Especifique o local de instalação do PostgreSQL:

Image Removed

Desmarque a opção Stack Builder. Clique em Next:

Image Removed

Nota

A opção Stack Builder permite que sejam instalados produtos adicionais ao PostgreSQL como, por exemplo, o driver ODBC para uso com este banco. A instalação do driver ODBC para PostgreSQL será abordada mais à frente neste manual.

Especifique o local onde os dados da instância serão armazenados:

Image Removed

Defina a senha para o usuário postgres:

Image Removed

Informações

O usuário postgres é default da instalação, possuindo privilégios administrativos na instância. Defina uma senha para este usuário e armazene-a em um local seguro. Esta senha será necessária para qualquer operação administrativa no banco.

Nota

O PostgreSQL é um produto case sensitive, ou seja, ele diferencia letras maiúsculas de minúsculas, portanto fique atento com este detalhe no momento de informar nomes de usuários, tablespaces, databases e senhas. Não utilize caracteres acentuados, caracteres especiais ou espaço na definição destes objetos.

Defina a porta de comunicação com a instância PostgreSQL:

Image Removed

Nota

Essa porta será usada pelo Banco para prover comunicação externa como, por exemplo, com o driver ODBC; a porta padrão (e sugerida) é 5432. Pode-se especificar qualquer outro valor, desde que não esteja em conflito com outras portas já utilizadas em seu sistema. Salve esta informação em um local seguro.

Defina o padrão de idioma/caracteres da nova instância PostgreSQL. Selecione a opção C e clique em Next:

Image Removed

Será apresentado o resumo das configurações realizadas. Clique em Next para prosseguir:

Image Removed

Clique em Next para iniciar a instalação:

Image Removed

Aguarde o assistente concluir a instalação. Clique em Finish para encerrar o assistente.

Image Removed

Instalando o driver ODBC

É necessária uma conexão ODBC para realizar a comunicação com a database. O padrão ODBC é usado por todos os sistemas operacionais e é um método de acesso seguro.

Obtenha o instalador do ODBC neste link. Neste manual, utilizamos o msi. Baixe o arquivo mais recente disponibilizado.

Image Removed

Navegue até o final da página e selecione o binário conforme sua arquitetura (32 ou 64):

Image Removed

Informações

O último arquivo, que não especifica arquitetura, irá instalar as duas versões.

Informações
titleInformações

A instalação do driver ODBC para PostgreSQL pode ser realizada através da opção Stack Builder, presente no assistente de instalação do próprio PostgreSQL. A decisão de como instalar o driver fica à critério do usuário. A opção Stack Builder só é apresentada pelo assistente quando se está realizando uma instalação completa do PostgreSQL, portanto, também é bom saber como instalar o driver a partir do binário obtido no site oficial da plataforma.

Descompacte o arquivo zip baixado, clique com o botão direito no arquivo .msi e clique em Instalar:

Image Removed

Clique em Next para iniciar: 

Image Removed

Leia os termos da licença antes da instalação. Após a leitura, marque a opção de aceite e clique em Next:

Image Removed

Selecione a opção ODBC Driver. Clique em Next:

Image Removed

Clique em Install para começar a instalação:

Image Removed

Caso seja solicitado, permita a instalação do ODBC. Ao final da instalação, finalize o assistente.

Image Removed

Criando uma database PostgreSQL

É necessário preparar a instância para poder criar uma database. Para isso será utilizado o aplicativo pgAdmin, que é instalado junto com o produto.

Localize o aplicativo e execute-o:

Image Removed

Informações
As versões mais recentes do pgAdmin são aplicações web, porém possuem as mesmas funcionalidades das versões Desktop.

A interface da aplicação web será esta, ou similar a esta:

Image Removed

Informações
Antes de criarmos uma database, é necessário criar um usuário e uma tablespace para receber os arquivos físicos.

Criando um usuário

O usuário será o dono (owner) da database e todos os objetos criados dentro dela, como tabelas, stored procedures, views, etc, serão associados a ele. É através deste usuário que será feito o acesso à database. No momento em que se cria um usuário, é necessário definir uma senha também; somente com este conjunto de informações será possível acessar a instância PostgreSQL e gerenciar a database.

Uma tablespace é uma unidade lógica associada à um local físico no disco. Esta é a forma como o PostgreSQL gerencia o armazenamento dos dados que compõem uma database. Podemos criar várias tablespaces e associar cada uma delas à um usuário diferente.

Dica
titleBoas práticas

É importante ter em mente que um usuário criado dentro da instância pode ser dono de uma ou mais databases. Considere ideal ter um usuário diferente para cada nova database que você precisar criar. Também é aconselhável utilizar uma tablespace diferente para cada database. Assim, sua instância estará organizada e a manutenção se tornará mais simples.

Expanda o ícone de Servers, e clique em PostgreSQL 12. Este número pode variar conforme a versão do banco de dados instalado.

Digite a senha definida para o usuário postgres para se conectar ao servidor:

Image Removed

Clique com o botão direito em Login/Group roles, selecione Create > Login/Group Role...

Image Removed

A janela para criação de login será similar a esta:

Image Removed

Defina um nome para a conexão. Na aba Definition, defina a senha da nova conexão. Lembre-se de salvar esta senha em um local seguro.

Image Removed

Na aba Privileges, marque as opções:

  • Can login = Yes
  • Super User = Yes
  • Create roles = Yes
  • Create databases = Yes
  • Inherit rights from the parent roles = Yes

Image Removed

Os privilégios do usuário serão fundamentais para que o acesso e uso da instância ocorram normalmente. Após realizar as definições, clique em Save para criar o usuário.

Informações

Para mais informações sobre os itens da tela de criação de Login/Group Role, confira a documentação do pgAdmin.

Criando uma Tablespace

Agora é preciso definir o local onde os arquivos de dados serão armazenados. Para isso teremos que criar uma tablespace. Clique com o botão direito no item Tablespaces. No menu suspenso selecione Create > Tablespace. Surgirá uma nova janela:

Image Removed

Na aba General, defina um nome para a sua tablespace e selecione o usuário criado anteriormente para o owner.

Image Removed

Na aba Definition, defina o local (pasta/diretório) de armazenamento dos arquivos da database.

Image Removed

Dica
titleDica

Crie uma estrutura de pastas para receber os arquivos. É útil configurar um local padrão para suas databases. O local onde os arquivos serão armazenados deve estar com direitos de leitura e gravação (read/write) para o usuário que está ativo no computador. Se ocorrerem problemas com a criação da tablespace, certifique-se de ter estes direitos configurados para os usuários corretos.

Após realizar as definições clique em Save para criar a tablespace.

Informações

Para mais informações sobre os itens da tela de criação de tablespace, confira a documentação do pgAdmin.

Criando a database

Clique com o botão direito do mouse sobre Databases. No menu suspenso selecione Create > Database. Surgirá uma nova janela:

Image Removed

Na aba General, preencha o nome da database e defina o owner como o usuário recém-criado:

Image Removed

Na aba Definition, selecione o Encoding WIN1252, o Template template0, a tablespace criada, a collation C, e o character type C. 

Image Removed

Clique em Save para criar a database. Clique com o botão direito do mouse no item Databases, e clique em Refresh. Verifique se sua database está relacionada no item Databases.

Dica

Selecione os valores definidos neste manual para criar a database. Outros valores e parâmetros podem interferir no funcionamento do Protheus.

Informações

Para mais informações sobre os itens da tela de criação de Database, confira a documentação do pgAdmin

Agora é necessário configurar uma conexão ODBC.

Criando uma conexão ODBC com o banco de dados

Execute o utilitário do Windows ODBC Data Sources, de acordo com a sua arquitetura (32 ou 64 bits). 

A interface será similar a esta:

Image Removed

Para criar uma nova conexão devemos utilizar a aba System DSN (DSN de Sistema). Dentro desta aba clique no botão Add/Adicionar. Surgirá uma nova janela:

Image Removed

Note que podem existir inúmeros drivers instalados. Cada um possibilita a conectividade com um tipo de banco diferente, por exemplo SQL Server, Oracle etc. As informações nesta janela podem variar, de acordo com o que já foi instalado previamente no equipamento. Fique atento para selecionar o tipo de driver corretamente.

Se o ODBC instalado foi o de ambas as arquiteturas, as opções serão similares à imagem: 

- PostgreSQL ANSI

- PostgreSQL ANSI(x64)

- PostgreSQL Unicode

- PostgreSQL Unicode(x64)

Se apenas o ODBC x64 foi instalado, haverão duas opções disponíveis para PostgreSQL:

- PostgreSQL ANSI(x64)

- PostgreSQL Unicode(x64)

Selecione o padrão PostgreSQL ANSI, caso sua arquitetura seja de 32 bits, ou PostgreSQL ANSI(x64), caso seja de 64 bits, e clique em Finish/Concluir.

Nota
titleAtenção

Atente-se à arquitetura do driver selecionado caso haja mais de uma opção. O padrão para uso com Protheus é ANSI.  

Surgirá uma nova janela. É nela onde informaremos os dados para a conexão com o PostgreSQL:

Image Removed

Utilize as seguintes definições para a conexão ODBC:

Data Source = defina um nome para esta conexão ODBC. Aqui vale a mesma regra de nomenclatura usada para o PostgreSQL. Não use caracteres acentuados, especiais nem espaço.

Description = fique à vontade para acrescentar um breve comentário neste campo. É meramente descritivo e não é obrigatório.

Database = especifique o nome da database criada no PostgreSQL anteriormente. É muito importante colocar o nome da mesma forma como ele está dentro da instância, pois como foi descrito anteriormente, o PostgreSQL é case sensitive e diferencia letras maiúsculas de minúsculas.

SSL Mode = por padrão já vem desabilitado (disable). Não modifique este valor.

Server = deve ser informado o endereço IP ou o nome do computador onde a instância PostgreSQL está instalada. Como o escopo deste documento trata de ambiente local, pode-se utilizar a palavra localhost. Se a instância estiver localizada em um outro computador, especifique o IP ou nome do computador remoto.

Port = é a porta de comunicação com a instância PostgreSQL. Lembre-se que no momento da instalação do produto esta informação foi solicitada. A porta padrão é 5432.

User Name = é o nome do usuário criado na instância PostgreSQL. É com este usuário que o acesso à database será realizado. É o mesmo usuário usado na criação da database (veja os passos descritos na seção Como criar uma database PostgreSQL).

Password = é a senha do usuário da database. É a mesma senha usada na criação do usuário dentro da instância PostgreSQL.

Após fornecer todos os campos, clique em Test para verificar se a comunicação com a database será realizada ou não. Se os dados fornecidos estiverem corretos, será exibida a seguinte janela:

Image Removed

Se houver algum problema de comunicação, verifique os dados e tente novamente.

Após realizar o teste com sucesso, clique em Save para salvar a conexão ODBC.

Configurando o DBAccess para acesso ao banco de dados

Para concluir o processo de comunicação com a database PostgreSQL, será necessário definir uma conexão dentro do DBAccess.

Acesse o utilitário DBMonitor:

Image Removed

Selecione a aba Configurações e acesse a aba PostgreSQL:

Image Removed

Clique no botão Novo. Surgirá uma janela solicitando um nome para a conexão:

Image Removed

Forneça um nome e clique em OK.

Dica
titleDica

O nome da conexão DBAccess pode ser o mesmo nome usado na conexão ODBC. Ao utilizar o mesmo nome em sua database, conexão ODBC e conexão DBAccess, não haverá confusão no momento de montar seu ambiente.

A janela anterior será reapresentada com a aba Ambiente preenchida. Em Nome e Senha, utilize o nome de usuário (user name) e senha (password) utilizados na conexão ODBC.

Image Removed

Clique em Salvar

Sempre que uma conexão é criada, ela deve ser testada para a validação de seu acesso. Selecione a aba Assistentes e clique em Validação de Conexão:

Image Removed

No assistente de conexão, clique em Avançar. Na tela seguinte, selecione o banco de dados Postgres:

Image Removed

Clique em Avançar. Na próxima tela, insira o nome do ambiente (informado ao criar o ambiente no DBAccess):

Image Removed

Clique em Finalizar. Se tudo estiver configurado corretamente, a mensagem exibida será "Conexão Ok!":

Image Removed

Para prosseguir, recomendamos os seguintes conhecimentos:

  • Conhecimento do Protheus;
  • Noções básicas de instalação de aplicativos em Windows;
  • Familiaridade com terminologias de banco de dados e novas tecnologias.

Os links a seguir possuem conteúdos relevantes ao material apresentado nestas páginas:

Wiki Guia para Report de Problemas  Grupo Telegram com mais de 2mil membros mantido pelo time da timbiras • Ferramentas para o PostgreSQL  Documentação do pgdump  Link para PGTune  Link para documentação DBAccess  Home - PostgreSQL  Documentação initdb - criando um cluster do PostgreSQL

A instalação do PostgreSQL em Windows e a criação de uma base de exemplo é demonstrada nos links a seguir.

Exibir filhos

...