| 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). |
Instalador atual: https://sac4colinstallers.blob.core.windows.net/postgresql/teste/Prosoft.PostgreSQL.exe
O que deve conter no instalador
Instalador pgProsoft
- É distribuído, embutido no instalador do PostgreSQL. Após a instalação do PostgreSQL, o instalador executa os comandos
pgProsoft inicializar_prosoft_admin_dbepgProsoft 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
- Execute o Instalador Prosoft.PostgreSQL.exe como administrador
- 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
- 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
4. Clique no botão Concluir
Instalando no método Avançada (Usar cluster existente)
- 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.
- 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>
|













