Instalar PostgreSQL no Windows para um ambiente de desenvolvimento com Protheus não é apenas questão de executar um instalador. É necessário configurar o banco corretamente para que a integração com DBAccess funcione de forma estável e previsível.
Este guia apresenta o passo a passo completo, desde o download até a integração total com o Protheus.
⚠️ Importante: Recomendação da TOTVS
A instalação do PostgreSQL em Windows é recomendada APENAS para ambientes de desenvolvimento ou testes.
Segundo a documentação oficial da TOTVS, não é recomendado o uso do PostgreSQL em Windows para cenários de produção. Para ambientes produtivos, use sempre PostgreSQL em Linux.
As razões incluem:
- Melhor performance em Linux
- Maior estabilidade e confiabilidade
- Suporte oficial da TOTVS para PostgreSQL em Linux
- Segurança robusta em ambientes Linux
Este guia é específico para desenvolvimento local. Para produção, consulte a documentação de configuração do PostgreSQL em Linux para Protheus .
1. Download do PostgreSQL
O instalador oficial para Windows pode ser obtido em:
https://www.postgresql.org/download/windows/
A distribuição Windows é mantida pela EnterpriseDB (EDB), a empresa que fornece suporte comercial ao PostgreSQL.
2. Instalação do PostgreSQL
Após baixar o instalador, execute-o e acompanhe cada etapa.
Nota: as telas exibidas abaixo são apenas um facilitador visual. Dependendo da versão do PostgreSQL instalada, algumas telas podem apresentar variações na interface ou na ordem das etapas.
Tela inicial do instalador

Seleção do diretório de instalação

Seleção de componentes

Seleção do diretório de dados

O caminho exibido na imagem é apenas uma sugestão. Como boa prática, prefira manter os dados do PostgreSQL em um drive separado do sistema operacional (por exemplo, D:), reduzindo contenção de I/O e facilitando manutenção e backup.
Definição de senha para o usuário postgres

Escolha uma senha segura e anote-a para referência futura.
Configuração da porta

A porta padrão é 5432. Se já houver outra instância PostgreSQL em execução, altere para outra porta disponível.
Opções avançadas

Na opção Select the locale to be used by the new database cluster, o instalador normalmente vem com DEFAULT, que significa usar o locale padrão do sistema operacional Windows onde a instalação está sendo feita. Na prática, isso faz com que regras de ordenação, comparação de texto e classificação de caracteres sigam a configuração regional da máquina, como idioma e país.
Nesta instalação, o valor foi alterado para C, que é o locale tradicional do padrão POSIX/C. Esse locale usa regras mais simples e previsíveis, baseadas essencialmente na ordem binária dos caracteres, sem depender da regionalização do Windows. Em outras palavras: a ordenação fica menos “inteligente” do ponto de vista linguístico, mas muito mais estável e consistente entre ambientes diferentes.
Para o Protheus, isso é importante porque ajuda a evitar diferenças de comportamento em ordenações e comparações de strings entre ambientes, reduzindo risco de incompatibilidades com índices, consultas e rotinas do sistema. Aqui não se trata apenas de uma escolha de implementação: o uso de locale C é a configuração recomendada pela TOTVS para esse cenário.
Resumindo:
DEFAULT: herda o locale do Windows e respeita a regionalização da máquina.C: usa uma ordenação técnica e estável, independente da localidade do sistema.- Para Protheus: use
C, pois essa é a recomendação da TOTVS para manter o comportamento compatível com a aplicação.
Conclusão do assistente de instalação

Stack Builder

O Stack Builder permite instalar extensões e ferramentas adicionais. Se desejar instalar o psqlODBC agora, continue. Caso contrário, cancele.
Seleção de aplicações adicionais

Instalação do psqlODBC

O psqlODBC é essencial para o DBAccess acessar o PostgreSQL.
Diretório de instalação do psqlODBC

3. Componentes instalados
Após a conclusão, você terá disponível:
- PostgreSQL Server - o serviço de banco de dados
- pgAdmin 4 - interface gráfica para gerenciamento
- psql - cliente de linha de comando
- psqlODBC - driver ODBC para integração com aplicações Windows
Para desenvolvimento, o pgAdmin 4 é o suficiente para a maioria das tarefas.
4. Criando o banco de dados (padrão Protheus)
Abra o pgAdmin 4 e acesse o editor de queries. Execute o seguinte comando:
CREATE DATABASE protheus_dev
WITH
ENCODING 'WIN1252'
LC_COLLATE 'C'
LC_CTYPE 'C'
TEMPLATE template0;
Pontos críticos:
- ENCODING ‘WIN1252’: obrigatório para compatibilidade com Protheus
- LC_COLLATE ‘C’: garante ordenação consistente entre plataformas
- TEMPLATE template0: cria banco vazio sem extensões padrão
Recomendação de arquitetura (DEV x produção)
- Para DEV: prefira um banco separado por ambiente (ex.:
protheus_dev), em vez de separar por schema. - Schema: em geral, mantenha o padrão para evitar incompatibilidades com rotinas do Protheus e DBAccess.
- Tablespace: é opcional em desenvolvimento. Em produção, pode ser útil para separar I/O em disco dedicado e facilitar gestão de armazenamento.
5. Criando usuário para o Protheus
No pgAdmin, execute:
CREATE USER protheus WITH PASSWORD 'senha_forte';
Substitua senha_forte por uma senha segura.
Agora, configure as permissões:
ALTER DATABASE protheus_dev OWNER TO protheus;
GRANT ALL PRIVILEGES ON DATABASE protheus_dev TO protheus;
Importante: evite usar o usuário postgres nas aplicações. Use sempre uma conta dedicada, como protheus, para melhor segurança e rastreabilidade.
6. Configurando acesso (pg_hba.conf)
O arquivo pg_hba.conf controla quem pode se conectar ao PostgreSQL. Para esta instalação está localizado em:
D:\DATABASE\PostgreSQL\16\data\pg_hba.conf
A partir do PostgreSQL 14, o método de autenticação padrão nas instalações Windows é scram-sha-256, que é mais seguro que o antigo md5. O arquivo gerado pela instalação já vem configurado assim:
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all scram-sha-256
# IPv4 local connections:
host all all 127.0.0.1/32 scram-sha-256
# IPv6 local connections:
host all all ::1/128 scram-sha-256
# Allow replication connections from localhost, by a user with the
# replication privilege.
local replication all scram-sha-256
host replication all 127.0.0.1/32 scram-sha-256
host replication all ::1/128 scram-sha-256
Para um ambiente de desenvolvimento local, essa configuração padrão já é suficiente — ela permite conexões do próprio computador via IPv4 e IPv6, sem necessidade de alterações adicionais.
Atenção: mantenha o método
scram-sha-256. Evite substituir pormd5outrustem qualquer ambiente, mesmo em desenvolvimento.
Após qualquer alteração no arquivo, um simples reload é suficiente para aplicar as mudanças — sem necessidade de reiniciar o serviço ou derrubar conexões ativas. A própria instalação já cria um atalho pronto para isso:
"C:\Program Files\PostgreSQL\16\bin\pg_ctl.exe" -D "D:\DATABASE\PostgreSQL\16\data" reload
Caso prefira reiniciar o serviço completo, use:
net stop postgresql-x64-16
net start postgresql-x64-16
7. Configurando ODBC no Windows
A configuração ODBC permite que o DBAccess comunique com o PostgreSQL.
O caminho para abrir o administrador ODBC pode variar conforme a versão do Windows. A forma mais simples e consistente é usar a pesquisa do próprio Windows:
- Pressione Win e pesquise por ODBC
- Selecione Fontes de dados ODBC (64 bits) — atenção para escolher a versão 64 bits
- Siga as configurações conforme a documentação oficial: https://tdn.totvs.com/display/tec/DBAccess+-+Como+criar+uma+fonte+de+dados+para+uso+com+PostgreSQL
DSN de Sistema

Na aba DSN de Sistema, clique em Adicionar.
Seleção do driver

Selecione PostgreSQL ODBC Driver (ANSI) e clique em Concluir.
Dados da conexão

Preencha os campos com os dados do banco criado anteriormente: nome da fonte, servidor, porta, banco e usuário.
Opções avançadas (Datasource)



Para o preenchimento desses parâmetros avançados da fonte de dados ODBC, consulte também a documentação oficial da TOTVS:
https://tdn.totvs.com/display/tec/DBAccess+-+Como+criar+uma+fonte+de+dados+para+uso+com+PostgreSQL
Nota: a página 3 das opções avançadas não requer alterações. Mantenha os valores padrão e prossiga.
Teste de conexão

Clique em Test para validar. Uma mensagem de sucesso confirma que o driver ODBC está comunicando corretamente com o PostgreSQL.
8. Configurando o DBAccess
Acesse o TOTVS DBMonitor conforme as configurações do seu ambiente e configure a conexão com o PostgreSQL.
Configurações do banco

Informe os dados da conexão: ambiente, nome e senha do usuário.
Boa prática: adote um padrão de nomenclatura único entre os três pontos de configuração. Usar o mesmo nome — por exemplo,
protheus_dev— para o banco de dados, a fonte de dados ODBC e o ambiente no DBAccess facilita a rastreabilidade, evita confusões e torna a manutenção muito mais simples no dia a dia.
Validação da conexão

Após salvar, teste a conexão. Se bem-sucedida, o DBAccess está pronto para uso com o Protheus.
Problemas comuns e soluções
Encoding incorreto
Problema: erro ao criar tabelas com caracteres especiais.
Solução: verifique se o banco foi criado com ENCODING 'WIN1252'. Se o banco tiver sido criado com encoding diferente, o correto é recriá-lo com a configuração adequada, pois o encoding do banco não pode ser alterado depois da criação.
Collation diferente de C
Problema: índices não funcionando corretamente, ordenação inconsistente.
Solução: recrie o banco com LC_COLLATE 'C' e LC_CTYPE 'C'.
Falha de autenticação no ODBC
Problema: erro “permission denied” ao tentar conectar.
Soluções:
- Verifique se o usuário
protheusfoi criado corretamente - Confirme a senha
- Teste a conexão com
psqlvia linha de comando primeiro
Conexão recusada
Problema: “could not connect to server”.
Soluções:
- Verifique se o PostgreSQL está em execução
- Valide a porta (
netstat -an | findstr :5432) - Confirme que
pg_hba.confpermite a conexão do seu IP
Boas práticas para ambiente de desenvolvimento
- Use banco separado: crie
protheus_dev,protheus_testetc., nunca aponte para produção - Versione scripts: mantenha scripts SQL de inicialização em controle de versão
- Documente credenciais: use um arquivo
.envlocal (não commitado) para senhas - Teste regularmente: faça backup local e teste o restore periodicamente
- Use transações: prefira
BEGIN...COMMITpara alterações estruturais em dev
Conclusão
Instalar PostgreSQL no Windows é simples através do instalador EDB, mas a configuração adequada para uso com Protheus requer atenção especial aos detalhes: encoding, collation, ODBC e permissões.
Seguindo este guia, você terá um ambiente de desenvolvimento robusto, estável e pronto para integração total com DBAccess.
Referências
- https://www.postgresql.org/download/windows/
- https://www.enterprisedb.com/
- https://tdn.totvs.com/display/public/PROT/Protheus+com+PostgreSQL
- https://tdn.totvs.com/display/tec/DBAccess+-+Como+criar+uma+fonte+de+dados+para+uso+com+PostgreSQL
- https://www.postgresql.org/docs/current/app-initdb.html
- https://www.postgresql.org/docs/current/auth-pg-hba-conf.html
- https://odbc.postgresql.org/