Como instalar e configurar o Protheus com PostgreSQL

Hoje vamos mostrar como instalar e configurar o Protheus com PostgreSQL.

Essa instalação tem 5 partes, sendo categorizado de A à E, sendo:

  • Instalação do PostgreSQL
  • Criação da Database no PostgreSQL via pgAdmin
  • Configuração do ODBC
  • Instalação do License Server e DBAccess
  • Instalação do Protheus

Abaixo algumas observações sobre a instalação:

Obs. 1: Será feito a instalação na versão do Windows x64

Obs. 2: Será feito a instalação do Protheus 12.1.33 Harpia

Obs. 3: Nessa instalação não foi colocado Arquivos de Configuração Fiscal, Procedures, entre outros arquivos (mas caso você queira, pode colocar na sua instalação)

Parte A – Instalação do PostgreSQL:

  1. Faça o download do PostgreSQL através desse link – PostgreSQL: Downloads , nós usamos a versão do Windows disponível nesse link Download PostgreSQL (enterprisedb.com)
  2. Execute o instalador, prossiga e marque todas as opções

Tela inicial da instalação com todas opções marcadas

  1. Nesse exemplo, na senha, iremos colocar tst123

Definindo a senha na instalação

  1. No local, defina Português Brasil

Selecionando o idioma Português

  1. No fim da instalação, já deixe marcado a opção para abrir o Stack Builder
  2. No Stack Builder, marque a opção para instalar o driver para 64 bits ou 32 bits dependendo do seu S.O.

Instalando o driver para usarmos no ODBC

  1. Prossiga com a instalação até finalizar

Parte B – Criação da Database no PostgreSQL via pgAdmin:

  1. Após finalizar a instalação, clique no iniciar e procure por pgAdmin

Abrindo o pgAdmin

  1. No aplicativo, insira a senha no tópico 3
  2. Depois clique com o botão direito em Databases, e depois em Create Database

Criando uma nova Database

  1. No nome da database, iremos colocar protheusPG

Definindo o nome da Database

  1. Na aba definição, coloque Win1252 no Encoding, template0 no Tablespace e C no Collation e Character Type

Definindo os atributos da base

Parte C – Configuração do ODBC:

  1. Agora, clique em iniciar no Windows e procure por ODBC, abra a versão do seu S.O. (64 ou 32)

Abrindo o ODBC

  1. Vá na aba DNS de Sistema e clique em Adicionar, e escolha o tipo PostgreSQL ANSI

Criando a conexão como ANSI

  1. Na tela de configuração, no datasource e na database coloque o nome criado no tópico 11, no server coloque o IP ou o nome da máquina, no usuário coloque postgres, na porta coloque a porta da instalação (default 5432) e na senha coloque a configurada no tópico 4

Tela principal de definição

  1. Clique no botão Datasource
  2. Na aba 1, coloque o Unknown Sizes como Longest e deixe o tamanho máximo de Varchar como 2000 (referência em https://tdn.totvs.com/display/tec/DBAccess+-+Como+criar+uma+fonte+de+dados+para+uso+com+PostgreSQL )

Aba 1 da configuração

  1. Por último, clique no botão Test, é para exibir a mensagem de conexão com sucesso, então pode clicar no botão Save

Resultado do teste de conexão

Parte D – Instalação do License Server e DBAccess:

  1. Caso não tenha o JAVA JRE instalado, instale através desse link Download Java for Windows
  2. Faça o download do License Server, disponível em TOTVS License Server Virtual – Frameworksp – TDN
  3. Depois de baixar, descompacte o arquivo, e faça a instalação
  4. Iremos fazer a instalação na pasta C:\TOTVS\TOTVSLicenseVirtual
  5. Na parte da porta, iremos usar a 7777

Instalando o TOTVS License Server

  1. Se pedir o TOTVS ID, e você tiver instalando apenas uma base de testes, pode clicar em Cancelar
  2. Acesse agora o download do DbAccess através do link https://suporte.totvs.com/portal/p/10098/download?e=1031464
  3. Após o download, descompacte o arquivo e copie tudo para o diretório C:\TOTVS\DBAccess
  4. Crie um arquivo dbaccess.ini via Bloco de Notas dentro do diretório citado no passo 26, com o seguinte conteúdo:
[General]
LicenseServer=localhost
LicensePort=7777
Port=7890
ByYouProc=0
AuditLog=0
AuditServer=
AuditPort=7891
AuditLevel=1
AuditAll=0
AuditSqlExec=1
AuditProcExec=1
AuditThreadComment=1
AuditERPUserName=1
AuditSingleThread=0

[Service]
Name=DBAccess
DisplayName=TOTVS | DBAccess
  1. Clique com o botão direito em cima do dbaccess64.exe, e depois vá em Enviar para Área de Trabalho (Criar Atalho)
  2. Clique com o botão direito no atalho, e no caminho coloque -install

Configurando o atalho do DbAccess

  1. Após aplicar a alteração, clique com o botão direito, e depois clique em Executar como Administrador
  2. Agora clique no Iniciar e procure por services.msc

Abrindo o Serviços do Windows

  1. Dentro do Serviços procure por TOTVS | DbAccess
  2. Clique com o botão direito e depois clique em Propriedades
  3. Mude para automático, clique em Aplicar e depois clique em Iniciar

Deixando o serviço como automático e iniciando ele

  1. Volte na pasta do DbAccess, abra o DbMonitor.exe, coloque localhost e a porta 7890

Abrindo o DbMonitor

  1. Vá na aba Configurações, depois na sub aba Postgres e clique no botão novo, então digite o nome da base criada no tópico 11
  2. Coloque o nome de usuário postgres e a senha configurada no tópico 3

Criando a conexão com a base do PostgreSQL

  1. Depois vá na aba Assistentes, e clique em Validação de Conexão
  2. Prossiga com a validação, selecione Postgres e coloque o nome da base configurada, se tudo der certo, será exibido a mensagem de conexão com sucesso

Resultado do teste de conexão

Parte E – Instalação do Protheus:

  1. Baixe o repositório de objetos disponível em Portal de Downloads TOTVS > Linha Protheus > Versão 12.1.33 > Repositórios ou baixe através desse link https://suporte.totvs.com/portal/p/10098/download?e=1032311 . Após o Download, coloque o arquivo baixado em C:\TOTVS\ERP\Protheus\apo e renomeie o arquivo para TTTM120.RPO
  2. Baixe o AppServer disponível em Portal de Downloads TOTVS > Linha Protheus > TOTVS TEC Framework > AppServer ou baixe através desse link https://suporte.totvs.com/portal/p/10098/download?e=1031460 . Após o Download, descompacte a pasta, e deixe os arquivos em C:\TOTVS\ERP\Protheus\bin\appserver
  3. Dentro dessa mesma pasta, crie um arquivo chamado appserver.ini com o seguinte conteúdo (fique atento com o nome do banco e o tipo de conexão como banco sendo POSTGRES):
[AMBTST]
SourcePath=C:\TOTVS\ERP\Protheus\apo
RootPath=C:\TOTVS\ERP\Protheus_Data
RPOCustom=C:\TOTVS\ERP\Protheus\apo\custom.rpo
StartPath=\system\
RpoDb=top
RpoLanguage=Portuguese
RpoVersion=120
Trace=0
TopMemoMega=1
DBAlias=protheusPG
DBServer=localhost
DBDatabase=POSTGRES
DBPort=7890
StartSysInDB=1

[TopConnect]
Database=POSTGRES
Alias=protheusPG
ProtheusOnly=0
Port=7980

[Drivers]
Active=TCP

[TCP]
TYPE=TCPIP
Port=1257

[General]
InstallPath=C:\TOTVS\ERP\Protheus
Segmento=YddTQHWW=VZF=yhu
Serie===AV

[LICENSECLIENT]
server=localhost
port=7777

[service]
Name=TOTVS_PROTHEUS
Displayname=TOTVS | Protheus

[TCPSERVER]
Enable=0
  1. Baixe o Smartclient disponível em Portal de Downloads TOTVS > Linha Protheus > TOTVS TEC Framework > Smartclient ou baixe através desse link https://suporte.totvs.com/portal/p/10098/download?e=1031469 . Após o Download, descompacte a pasta, e deixe os arquivos em C:\TOTVS\ERP\Protheus\bin\smartclient
  2. Dentro dessa mesma pasta, crie um arquivo chamado smartclient.ini com o seguinte conteúdo:
[config]
lastmainprog=SIGAMDI
envserver=AMBTST

[drivers]
active=tcp

[tcp]
server=localhost
port=1257
  1. Vamos baixar agora os menus do Brasil disponível em Portal de Downloads TOTVS > Linha Protheus > Protheus versão 12.1.33 > Menus ou baixe através desse link https://suporte.totvs.com/portal/p/10098/download?e=1031459 . Após o Download, descompacte a pasta, e deixe os arquivos em C:\TOTVS\ERP\Protheus_Data\system
  2. Vamos baixar agora o dicionário de dados completo disponível em Portal de Downloads TOTVS > Linha Protheus > Protheus versão 12.1.33 > Dicionário de Dados ou baixe através desse link https://suporte.totvs.com/portal/p/10098/download?e=1031455 . Após o Download, descompacte a pasta, e deixe os arquivos em C:\TOTVS\ERP\Protheus_Data\systemload
  3. Vamos baixar agora o help de campos completo disponível em Portal de Downloads TOTVS > Linha Protheus > Protheus versão 12.1.33 > Dicionário de Dados ou baixe através desse link https://suporte.totvs.com/portal/p/10098/download?e=1031457 . Após o Download, descompacte a pasta, e deixe os arquivos em C:\TOTVS\ERP\Protheus_Data\systemload
  4. Crie a pasta C:\TOTVS\ERP\Protheus_Data\spool
  5. Vá na pasta do AppServer, clique com o botão direito no appserver.exe e depois vá em Criar Atalho na área de trabalho
  6. Clique com o botão direito no atalho e depois clique em Propriedades e no caminho coloque -install

Configurando a instalação do AppServer

  1. Após efetivar a tela anterior, clique com o botão direito e depois em Executar como Administrador
  2. Abra os serviços do Windows (services.msc), vá no TOTVS | Protheus, inicie o serviço e clique com o botão direito e depois em Propriedades, deixe o serviço como automático

Alterando o serviço deixando como automático

  1. Vá na pasta do SmartClient, clique com o botão direito no smartclient.exe e depois vá em Criar Atalho na área de trabalho
  2. Clique com o botão direito no atalho e depois clique em Propriedades e no caminho coloque -M

Definindo o atalho com -M no SmartClient

  1. Dê um duplo clique no atalho do SmartClient e abra o SIGAMDI
  2. Na primeira tela, selecione para criar uma empresa de teste

Definindo para criar a empresa Teste

  1. Ao exibir a pergunta para confirmar o País, selecione Brasil
  2. Após a instalação ser bem sucedida, pode usar o sistema tranquilamente
  3. Abaixo um print do cadastro de grupo de produtos no Protheus (à esquerda) e um select executado no pgAdmin (à direita)

À esquerda Protheus e à direita uma query no pgAdmin

Bom pessoal, por hoje é só.

Abraços e até a próxima.

Dan Atilio (Daniel Atilio)
Especialista em Engenharia de Software pela FIB. Entusiasta de soluções Open Source. E blogueiro nas horas vagas.

2 Responses

  1. Luiz Correia disse:

    Bom dia, excelente postagem! Grato!
    Gostaria de saber se o PostgreSql tem limitação de tamanho de dados como é no SQLServer Express.
    E também saber se há desvantagem em instalar o PostgreSql no Windows que no Linux.

    • Bom dia Luiz, obrigado pelo feedback.

      Ele não tem limitação de dados como as versões Express do SQL Server e do Oracle.

      Quanto a desvantagem, não sei dizer se teria alguma entre os dois S.O. (nunca precisei realizar uma comparação), mas procurando no Google por “postgresql é melhor no windows ou linux”, encontrei esse link no site oficial – https://www.postgresql.org/message-id/4E397FEE.4060107@squeakycode.net

      Resumidamente, falam que o Linux é melhor em desempenho na maioria dos cenários, mas pode ser que haja algum cenário onde o Windows seja melhor ou equivalente. Só que a dica que o Andy dá também nesse link, é que se a performance for parecida ou com pouca diferença, ai o ideal é usar no S.O. que tem maior conhecimento, pois assim qualquer b.o. que surgir vai ser mais fácil e rápido de solucionar.

      Um grande abraço.

Deixe uma resposta