Versões comparadas

Chave

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

Autor do artigo:sophia.alves.pro  

(Não remova esse quadro)



Instalação Postgresql - Ambiente Prosoft


Aviso

Atenção: Prosoft apenas homologou o PostgreSQL para instalação e uso em sistemas Windows x64 (64 bits).
A Prosoft está utilizando o PostgreSQL 17, sendo assim caso tenha o PostgreSQL instalado em outra versão não poderá ser
escolhido esse PostgreSQL de versão diferente para uso nos sistemas Prosoft.
Será necessário realizar a instalação do PostgreSQL 17 conforme instruções abaixo.
Caso já tenha o PostgreSQL 17 instalado poderá utilizar o mesmo cluster normalmente.

Instalador atual: https://sac4colinstallers.blob.core.windows.net/postgresql/teste/Prosoft.PostgreSQL.exe


O que deve conter no instalador


Instalador pgProsoft

  1. É distribuído, embutido no instalador do PostgreSQL. Após a instalação do PostgreSQL, o instalador executa os comandos pgProsoft inicializar_prosoft_admin_db e pgProsoft criar_ou_atualizar_usuario_admin.

 Instalador Prosoft Authentication

Instala os arquivos da aplicação e cria/atualiza o serviço do Windows chamado Prosoft.Authentication.


Sobre instalador e parâmetros


  1. Execute o Instalador Prosoft.PostgreSQL.exe como administrador

  2. Será aberto a tela inicial de instalação, clique em avançar:

      3.Avançando o instalador, será apresentado um vídeo explicando sobre essa nova ferramenta e como deve seguir com a instalação.

  • O vídeo pode ser assistido na própria janela do instalador ou por meio do navegador clicando no botão Abrir Navegador.
  • Após assistir ao vídeo é necessário clicar na opção “Estou ciente dos termos apresentados no vídeo” para prosseguir com a instalação.

      4. O caminha de instalação automático será em C:\Program Files\Prosoft\PostgreSQL e sua pasta onde será criado a base de dados do PostgreSQL.

Será apresentado a tela de Configuração do PostgreSQL.

Aviso

 As informações aqui inseridas são de extrema importância para o correto funcionamento do PostgreSQL.


Logo abaixo, uma breve explicação de cada parâmetro:

Tipo de Instalação:
Instalação Completa (Recomendado):
Instala e Configura uma nova instancia do PostgreSQL no seu computador.
Ideal quando você não tem o PostgreSQL 17 instalado.

Instalação Avançada (Usar Cluster Existente):
Conecta-se a um cluster PostgreSQL 17 já existente na sua rede.
Ideal para ambientes de servidores ou se você já gerencia seu próprio PostgreSQL 17.
Obs.: Essa opção é a única disponível caso já tenha o PostgreSQL 17 instalado na máquina.

Diretório de instalação do PostgreSQL:
Essa opção somente é apresentada quando se escolhe a opção de tipo de Instalação Completa (quando não se possui o PostgreSQL 17
instalado) e ela representa o diretório de instalação dos binários do PostgreSQL, por padrão ele será criado no Disco C:\.
O caminho completo por padrão será C:\Program Files\Prosoft\PostgreSQL.
Esse caminho padrão pode ser alterado escolhendo um diretório de sua preferência, porém recomenda-se deixar essa opção padrão.

Diretório Data do PostgreSQL:
Essa opção somente é apresentada quando se escolhe a opção de tipo de Instalação Completa (quando não se possui o PostgreSQL 17
instalado) e ela representa o diretório onde os bancos de dados e configurações do PostgreSQL serão armazenados.
É necessária muita atenção nesse ponto, pois aqui é efetivamente o local de armazenamento da base de dados, a escolha de um disco
inadequado nesse ponto pode afetar questões como espaço em disco e performance.
Recomenda-se que a Base de Dados seja criada no mesmo local onde o seu sistema Prosoft já está instalado atualmente.
Por padrão o instalador irá tentar obter o local físico de instalação do seu sistema Prosoft, caso essa informação não venha preenchida
automaticamente pode-se informar manualmente o caminho local do diretório.

Superusuário do Banco de Dados:
Conta principal do PostgreSQL, com acesso total para gerenciar o banco de dados e todos os usuários.
Geralmente é conhecido como usuário postgres.

Senha do Superusuário:
Usada para acessar a conta principal do PostgreSQL. Deve ser guardada em local seguro, pois dá acesso total ao banco de dados.
A Prosoft não armazena essa senha, sendo de total responsabilidade do cliente o armazenamento seguro dela.

Quando escolhemos a opção de Instalação Avançada são apresentados os dois campos abaixo:
Endereço do Servidor: Representa o nome ou IP do servidor onde seu PostgreSQL já está instalado (casos em que já tenha uma
instância do PostgreSQL 17 instalada e em funcionamento).
Porta: Representa a porta que sua instalação do PostgreSQL utiliza (geralmente é a porta 5432, porém certifique-se se está realmente
utilizando essa porta).

Instalando no método Completa


  1. Na janela do instalador preencha os campos conforme a imagem abaixo (certifique-se dos valores em cada campo conforme foi explicado
    acima) e clique no botão Avançar:

      2. Clique em Instalar

      3.Aguarde o processo de instalação

Image Added

     4. Clique no botão Concluir


Instalando no método Avançada (Usar cluster existente)


  1. Na janela do instalador preencha os campos conforme a imagem abaixo (certifique-se dos valores em cada campo conforme foi explicado

acima) e clique no botão Avançar:

 

      2.Clique no botão Instalar

     3. Clique em concluir

Com os procedimentos acima o PostgreSQL 17 foi instalado/configurado para uso nos sistemas Prosoft.



Informações técnicas 


Abaixo estão descritas as informações técnicas sobre as ações do instalador que são de interesse para o suporte.

  1. Chaves de Registro

Local da chave de registro: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Prosoft\Installations\Prosoft PostgreSQL
Directory: Pasta onde foi instalado. (Esta é a pasta padrão do instalador, onde ele salva apenas o arquivo de log).
LastUpdate: Data da última alteração (Quando o instalador foi executado pela última vez).
Status: Código de status de execução do instalador.
Version: Versão do instalador (não da aplicação).
PostgreSQL Data Directory: Local onde foi configurado o diretório de armazenamento das bases de dados e arquivos de
configuração do PostgreSQL 17.
PostgreSQL Directory: Local onde foi instalado o PostgreSQL 17 (Selecionado pelo usuário no momento do instalação).


       2. Configuração do pg_hba.conf

Na Instalação Avançada o arquivo pg_hba.conf (arquivo responsável pelas regras de autenticação e acesso ao banco) não é alterado,apenas editamos o arquivo com as regras de que precisamos no processo de Instalação Completa.

Em caso de erros de conexão com o banco será necessário adicionar a 5 regras no arquivo, caso não existam, e realizar o teste de
conexão novamente (recomenda-se reiniciar o serviço do PostgreSQL após editar o arquivo).
host all all <NOME_DA_MAQUINA_POSTGRES> scram-sha-256
host all all samenet scram-sha-256
hots all all samehost scram-sha-256
hots all all fe80::/10 scram-sha-256
hots all all fe80::/64 scram-sha-256

Exemplo:


        3 . Logs

O arquivo de log do processo de instalação quando é finalizado com sucesso é salvo em: C:\Program Files (x86)\Prosoft\PostgreSQL\InstallLog.txt.
Dentro do arquivo de log são salvas todas as etapas, alterações e configurações que o instalador faz, de forma detalhada para caso de debug/troubleshooting.

        4. Status da Instalação

O status é indicado na chave de registro 'Status', conforme descrito anteriormente.
0
- Sucesso. (Instalação concluída sem erros)
1 - Falha ao instalar o pgProsoft.
2 - Falha ao conectar a instância existente/remota.
3 - Versão da instância existente/remota não é compatível.
4 - Falha ao instalar o PostgreSQL.
5 - Falha ao atualizar o arquivo pg_hba_conf.
6 -Falha ao criar a instancia via pgProsoft.
7 - Falha ao criar o usuário admin via pgProsoft.
8 - Falha ao criar o usuário suporte via pgProsoft.
90 - Arquitetura do servidor é x86, não é suportada.
98 - Usuário cancelou a instalação.
99 - Erro desconhecido.


Scroll Only
(Não remova esse quadro)
HTML
<div id="text-end"></div>




<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://www.googletagmanager.com/gtag/js?id=UA-193974933-1"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag2(){dataLayer.push(arguments);}
  gtag2('js', new Date());

  gtag2('config', 'UA-193974933-1');


  function gtagevents (action,category) {
     console.log(category + ':' + action);
     gtag2('event',action,{event_category:category,event_label: document.title});
  };

</script>

<script src="https://player.vimeo.com/api/player.js"></script>
<script>
    (function(){
        // RASTREIO DE USO DO VÍDEO
        function gtagvideo(action){
           gtagevents(action,'Video')
        }

        var iframe = document.querySelector('iframe');
        var player = new Vimeo.Player(iframe);

        var seeking = false;
        var priorTime = 0;
        var currentTime = 0;
        var reportouFinalDoConteudo = false;

        // se pausar o play é acionado também.
        player.on('play', function(data) {
            if(data.seconds == 0){ 
              gtagvideo('video-iniciado');
            }
            priorTime = data.seconds;             
        });

        player.on('ended', function() {
            gtagvideo('video-finalizado');
        });

        //seeking e timeupdate são disparados juntos, logo o tempo dos 2 é atualizado também. Preciso garantir que a variavel starttime seja atualizada ordenadamente (sempre antes ou após o seeking).
        // pra isso preciso setar uma variavel no timeupdate e ler no seeking para garantir a ordem. Se ela estiver false será alterada na próxima iteração.
        player.on('seeking', function(data) {               
            seeking = true;
        });


        player.on('pause',function(data){
            gtagvideo('video-pausado');    
        });

        player.on('timeupdate', function(data) {
            if(seeking){
                if(currentTime < priorTime){
                    gtagvideo('video-voltando');    
                }
                if(currentTime > priorTime){
                    gtagvideo('video-avancando')
                }
                seeking = false;
            }
            priorTime = currentTime;
            currentTime = data.seconds;


           var finalDoConteudo = (data.duration - data.seconds) < 5;
           if(finalDoConteudo && !reportouFinalDoConteudo){
            gtagvideo('conteudo-finalizado')
            reportouFinalDoConteudo = true;
           }
        });

        player.on('fullscreenchange', function() {
            gtagvideo('video-fullscreen');
        });
    })();
</script>

<script>
 // RASTREIO DO USO DE AUDIO
 (function(){
    function gtagaudio(action){
           gtagevents(action,'Audio')
    }            

    var audio = document.querySelector("audio");

    var seeking = false;
    var priorTime = 0;
    var currentTime = 0;

    audio.addEventListener('play',function(){
        if(audio.currentTime == 0){
          gtagaudio('audio-iniciado');
        }
        priorTime = audio.currentTime;        
    });

    audio.addEventListener('ended',function(){
        gtagaudio('audio-finalizado');
    });

    audio.addEventListener('pause',function(){
        gtagaudio('audio-pausado');
    });

    audio.addEventListener('seeking', function(data) {               
        seeking = true;
    });

    audio.addEventListener('timeupdate', function(data) {               
        if(seeking){
                if(currentTime < priorTime){
                    gtagaudio('audio-voltando');    
                }
                if(currentTime > priorTime){
                    gtagaudio('audio-avancando')
                }
                seeking = false;
            }
            priorTime = currentTime;
            currentTime = audio.currentTime;
    });    
 })();
 </script>

<script>
    (function(){
        var terminou = false;
        //RASTREIO DE LEITURA ATÉ O FINAL DA PÁGINA
        document.addEventListener('scroll',() => {
            if(document.getElementById('text-end').getBoundingClientRect().top < window.innerHeight){
                if(!terminou){
                    terminou = true;
                    gtagevents('artigo-lido','Pagina')
                }
            }else{
                terminou = false;
            }
                
        });
    })();
 </script>