Por que eu devo ler este artigo:A leitura deste artigo compreende
uma visão dos principais erros que ocorrem durante a configuração do sistema
gerenciador de banco de dados PostgreSQL. O entendimento desses erros poderá
levar à economia de tempo e de recursos durante a configuração, bem como ao
conhecimento da solução caso o erro venha a acontecer.
A etapa de configuração de um sistema
gerenciador de banco de dados é uma parte crucial para o bom funcionamento
tanto do SGBD quanto das aplicações que dependerão dele. Nesse momento, deverão
ser levados em consideração diversos pontos, como o planejamento de espaço do
banco de dados e número de acessos estimados. Caso ocorram falhas na etapa de
configuração, esses problemas podem impactar a instalação do SGBD ou até mesmo causar
falhas durante sua execução.
Durante a instalação, configuração e
preparação de um ambiente para executar um sistema gerenciador de banco de
dados, pode haver dois caminhos: um primeiro, no qual se segue os passos de
instalação recomendados pela documentação e tudo ocorre bem, e um segundo
caminho, onde erros inesperados podem aparecer e impactar no mal funcionamento
e até mesmo no não funcionamento dele.
Visando resolver os principais problemas
recorrentes na configuração, este artigo apresenta os principais erros que
acontecem no PostgreSQL e suas possíveis soluções, abordando questões de banco
de dados, configurações do sistema operacional e até mesmo da linguagem de
programação utilizada. É importante deixar claro que a busca por soluções não é
um processo exato e, dependendo das condições, pode exigir um procedimento de
tentativa e erro para chegar a uma solução final.
Na sequência são apresentados os 10
principais erros de configuração do PostgreSQL, juntamente com os motivos que
podem ocasionar esses erros acompanhados de suas possíveis soluções.
1 - Questões envolvendo
o sistema operacional Windows
Existem algumas questões de configuração do
ambiente do sistema operacional que podem levar à não execução do PostgreSQL. O
primeiro problema é associado ao antivírus, sendo um erro que acontece com mais
frequência em sistemas operacionais Windows. Ele ocorre quando o antivírus
utilizado encerra o processo do PostgreSQL sem notificar o usuário, impactando
na não execução do SGBD e na busca por soluções mais avançadas para um problema
simples.
Na documentação oficial do PostgreSQL sobre
erros recorrentes, há relatos que houve problemas frequentes de
incompatibilidade com os antivírus Nod32, McAfee e Panda, não descartando que
pode haver problemas com outros antivírus. Não se pode recomendar que o
antivírus seja apenas desabilitado, no entanto, desabilitar o antivírus é uma
estratégia rápida para verificar se é o antivírus que está bloqueando o
processo do PostgreSQL.
Todos os antivírus têm em suas funcionalidades
uma lista de aplicativos não maliciosos. Caso seja constatado que o antivírus
está bloqueando o processo do PostgreSQL, a solução recomendável é adicionar na
lista de aplicativos não maliciosos do antivírus os processos “postgresql.exe”
e “postmaster.exe”, fazendo com que o antivírus não bloqueie sua execução.
Durante a instalação do PostgreSQL em
sistemas operacionais Windows, pode ocorrer um erro de execução e ser
apresentada a mensagem “Um erro aconteceu durante a execução da instalação
durante o Microsoft Visual C++”, ou a mensagem em inglês como demonstra a Figura 1.
A instalação do PostgreSQL irá instalar o Microsoft
Visual C++ no Windows caso ele não esteja instalado no computador. No entanto,
conforme a mensagem indica, o assistente está com problemas para instalar o Visual
C++ no computador. Dessa forma, uma alternativa para que esse erro não ocorra é
instalar o Microsoft C++ antes de executar o instalador do PostgreSQL.
Caso mesmo utilizando o instalador manual o
erro continue, é recomendado verificar as variáveis de ambiente TMP e TEMP, que
tradicionalmente ficam localizadas no Windows em Painel de Controle > Sistema > Avançado > Variáveis de
Ambiente, ambas direcionadas para a pasta C:\Windows\Temp e em %USERPROFILE%\AppData\Local\Temp,
conforme pode ser visto na Figura 2.