PC SOFT
DEPOT EN LIGNE
POUR WINDEVWEBDEV ET WINDEV MOBILE

Instalador do Driver Nativo do PostgreSQL no WINDEV e WEBDEV da Biblioteca LIBPQ.DLL - Biblioteca LIB do PostgreSQL para usar em
Publié par Boller
dans la catégorie Outils
Nouveautés



Description
INCLUSO AS VERSÕES DA LIBPQ.DLL REFERENTE AO POSTGRESQL: 9, 10, 11, 12, 13, 14, 15

NAO USAR TRUST EM PRODUÇÃO

USAR IN EXTEND INFO:

Server Port=125432; SSL CA = C:\Certificados SSL\CA.crt ; Certificado SSL = C:\Certificados SSL\my.crt ; SSL Key = C:\Certificados SSL\my.key ; SSL Mode = verify-full


Utilitário de instalação e readme para auxiliar em qualquer dúvida.

Registre nas observações abaixo se teve algo que nao deu certo para agilizarmos um chamado tecnico

DOWNLOAD OFICIAL DO POSTGRESQL

https://www.enterprisedb.com/download-postgresql-binaries

Anexo arquivo zipado da DLL suplementar

DRIVER NATIVO

https://www.WINDEV.com/ts/download/common-modules-20/postgresql.htm

https://www.WINDEV.com/ts/download/common-modules-21/postgresql.htm

https://www.WINDEV.com/ts/download/common-modules-22/postgresql.htm

https://www.WINDEV.com/ts/download/common-modules-23/postgresql.htm

https://www.WINDEV.com/ts/download/common-modules-24/postgresql.htm

https://www.WINDEV.com/ts/download/common-modules-25/postgresql.htm

https://PC SOFT.fr/st/telec/modules-communs-26/postgresql.htm


VERSAO 25 - WINDOWS
https://package.WINDEV.com/pack/addons/an/postgresql/POSTGRESQL25PACK052b.exe

VERSAO 25 - LINUX
https://package.WINDEV.com/pack/addons/an/postgresql/POSTGRESQLLINUX25PACK052b.zip
https://package.WINDEV.com/pack/addons/an/postgresql/POSTGRESQLLINUX25PACK64052b.zip


VERSAO 24 - WINDOWS
https://package.WINDEV.com/pack/addons/an/postgresql/WX240PACKPOSTGRESQL029d.exe

Eu organizei um pacote com as dlls do Postgresql por versao 32 e 64 bits das libs para funcionar com o WINDEV e WEBDEV, segue abaixo o download, o mesmo também vai para o skype e repositório da PC SOFT que pode ser acessado pelo nosso site http://www.wxsolucoes.com.br.

Solução definitiva para quem tem problemas de usar a versão 32 ou 64 bits do PostgreSQL

Está separado por pastas para cada versão do PostgreSQL e a dll necessária

E assim não precisa instalar o PostgreSQL nos terminais só copia a lib junto com o exe no caso do WINDEV e no Windows System32 ou Syswow64 no caso do WEBDEV no servidor

Para evitar o erro 52
*********************

instalar os arquivos VC_redist.x64 e VC_redist.x86 e a msvcr120.dll


Para evitar o erro 22
*********************

acerte o arquivo pg_hba.conf

Por padrão, o Native Access tenta abrir uma conexão SSL e, se falhar, uma conexão não SSL.
Para controlar como a conexão é aberta, adicione a palavra-chave “Modo SSL”
às informações estendidas da conexão, seguida do modo desejado.

Exemplo de informações estendidas para usar certificados padrão:

(Arquivos postgresql.crt, postgresql.key, Root.crt no diretório %APPDATA%\postgresql)Porta do servidor=5432;Modo SSL = verificação completa

Exemplo de informações estendidas para usar certificados renomeados:

Server Port=125432; SSL CA = C:\Certificados SSL\CA.crt ; Certificado SSL = C:\Certificados SSL\my.crt ; SSL Key = C:\Certificados SSL\my.key ; SSL Mode = verify-full


32 bits = msvcr120.dll

64 bits = vcruntime140.dll


QUALQUER DÚVIDA ENTRE EM CONTATO PELO CE/WHATSAPP 41999491800

Razão Social: Adriano Jose Boller & Cia Ltda
Fantasia: WX Soluções e WX INFORMATICA
CNPJ: 14.421.060/0001-92 - Inscrição Municipal: 01 07 0625835-1
Rua: Dr Rene Dinorah da Silveira, 69-casa 2 - Bairro: Tarumã
Cidade: Curitiba - Estado: Paraná
CEP: 82.530-310
adrianoboller@gmail.com
financeirowx@gmail.com
Illustrations, copies d'écran
none
none
Avis des utilisateurs
(Pour noter la ressource, cliquez sur Ecrire un avis)
Boller
PostgreSQL

[20/09/2024, 14:20:45] Adriano Boller: O arquivo `pgpass` é uma ferramenta muito útil no PostgreSQL, especialmente nas versões mais recentes, por várias razões, principalmente relacionadas à segurança e automação no acesso ao banco de dados.

### Motivos para usar o `pgpass`:

1. **Automatização de Conexões Seguras**:
O `pgpass` armazena as credenciais do banco de dados (usuário, senha, host e porta) de forma segura, permitindo que scripts e programas possam se conectar ao banco de dados sem solicitar interativamente as credenciais. Isso é essencial para automação de tarefas de manutenção, backups, restaurações e migrações que precisem ser realizadas sem intervenção humana.

2. **Evita Expor Senhas em Scripts**:
Em vez de passar a senha diretamente em um comando SQL ou script, o `pgpass` permite que você armazene as credenciais de maneira centralizada, reduzindo o risco de expor a senha em arquivos de script ou logs. Isso é mais seguro e facilita a gestão de acesso em servidores.

3. **Compatibilidade com Múltiplas Instâncias**:
O arquivo `pgpass` pode ser configurado para armazenar credenciais de várias instâncias do PostgreSQL. Ele consegue gerenciar conexões para diferentes servidores, usuários e bancos de dados, tornando mais fácil o gerenciamento de ambientes com várias instâncias do PostgreSQL.

4. **Suporte Nativo e Integração Simples**:
O PostgreSQL, nas suas versões mais recentes, oferece suporte nativo ao `pgpass`, o que facilita sua integração sem necessidade de bibliotecas adicionais. Ele é automaticamente reconhecido pelas ferramentas do PostgreSQL, como o `psql` e o `pg_dump`, quando estas são executadas pelo mesmo usuário que possui o arquivo `pgpass`.

5. **Aprimoramento da Segurança**:
Ao configurar o `pgpass` corretamente, você pode garantir que ele tenha permissões de leitura adequadas (apenas o usuário proprietário pode acessá-lo), tornando o acesso ao banco de dados mais seguro do que armazenar as credenciais diretamente em scripts ou variáveis de ambiente.

### Como funciona o `pgpass`:
- O arquivo `.pgpass` (no Linux) ou `pgpass.conf` (no Windows) deve ser criado no diretório home do usuário que se conecta ao PostgreSQL.
- A sintaxe do arquivo é simples, com cada linha contendo: `hostname:port:database:username:password`.
- O PostgreSQL lerá este arquivo sempre que for necessária uma autenticação, utilizando as credenciais armazenadas para realizar a conexão automaticamente.

### Exemplo de configuração:
```
# Exemplo de arquivo pgpass
localhost:5432:meu_banco:meu_usuario:minha_senha
```

### Considerações finais:
Com o avanço das versões do PostgreSQL, a configuração do `pgpass` tem sido cada vez mais recomendada para garantir práticas de segurança eficientes e automação, permitindo que os administradores mantenham um ambiente controlado e seguro, especialmente em servidores de produção.

Se precisar de ajuda para configurar o `pgpass`, posso te guiar nos detalhes técnicos!

[20/09/2024, 14:20:45] Adriano Boller: Para evitar que um invasor possa derrubar (`drop`) bancos de dados PostgreSQL, é necessário implementar uma série de medidas de segurança que dificultem o acesso não autorizado e garantam a integridade dos dados. Abaixo estão as melhores práticas de segurança para evitar esse tipo de ataque:

### 1. **Restringir Acessos e Privilégios de Usuários**
- **Princípio do Menor Privilégio**: Conceda apenas os privilégios mínimos necessários para cada usuário. Somente o superusuário (como `postgres`) deve ter permissões para realizar operações destrutivas, como `DROP DATABASE`.
- **Separação de Funções**: Crie diferentes usuários para diferentes funções (como leitura, escrita e administração) e atribua permissões adequadas. Por exemplo, um usuário que só precisa ler dados não deve ter permissões de escrita, muito menos para remover objetos do banco.
- **Revisão Periódica**: Faça auditorias regulares nas permissões dos usuários para garantir que ninguém tenha acesso desnecessário.

### 2. **Proteção de Credenciais**
- **Senhas Fortes e Complexas**: Implemente senhas seguras e longas, que sejam difíceis de quebrar.
- **Autenticação Forte**: Considere usar autenticação baseada em certificados ou integração com mecanismos de autenticação externos, como LDAP ou Kerberos, ao invés de confiar somente em autenticação via senha.
- **Bloqueio de Tentativas de Login Mal-Sucedidas**: Configure mecanismos que detectam e bloqueiam tentativas repetidas de login falhas para evitar ataques de força bruta.

### 3. **Configuração Segura do PostgreSQL**
- **Arquivo `pg_hba.conf`**: Configure corretamente o arquivo de controle de acesso `pg_hba.conf` para restringir as conexões a apenas máquinas ou sub-redes específicas. Desabilite o acesso de IPs ou redes não confiáveis.
- Use `local` para conexões internas (Unix sockets) e limite o acesso via rede somente aos endereços IP confiáveis.
- **Desabilitar o Acesso Externo Desnecessário**: Se o banco de dados não precisa ser acessado de fora da rede local, não permita conexões externas. Se necessário, use firewalls para restringir o acesso a portas específicas.
- **Mudança da Porta Padrão**: A porta padrão do PostgreSQL é a 5432. Mudar essa porta para outra menos conhecida pode reduzir a probabilidade de ataques automatizados, embora não seja uma medida definitiva.

### 4. **Criptografia de Conexão**
- **SSL/TLS**: Sempre habilite SSL/TLS para criptograf


*Em resumo:*
Interessante até criar outro usuário em vez de Postgres na instalação um nome totalmente diferente e com pgpass.conf e para pghba.conf pra sua segurança e porta diferente da padrão. Pra melhorar só conseguir chegar no banco via vpn. Quem não estiver com a vpn não usa o sistema.

[20/09/2024, 15:16:08] Adriano Boller: *No Linux*

### Exemplo de configuração segura do `pgpass` e `pg_hba.conf` para PostgreSQL, incluindo a mudança da porta padrão e práticas para evitar invasões:

#### 1. Arquivo `.pgpass` (Armazenamento seguro de credenciais)
O arquivo `pgpass` armazena credenciais de conexão ao banco de dados de forma segura, e deve estar protegido com permissões restritas (0600 para Linux, por exemplo, para garantir que apenas o proprietário tenha acesso).

**Exemplo de arquivo `.pgpass`**:
```
# Formato: hostname:port:database:username:password
localhost:5433:meu_banco:meu_usuario:minha_senha_forte
192.168.0.100:5433:outro_banco:outro_usuario:senha_muito_secreta
```
- **Porta**: No exemplo, a porta padrão do PostgreSQL foi alterada de 5432 para 5433.
- **Senha**: Use senhas fortes e complexas para dificultar ataques de força bruta.
- **Hosts**: Você pode especificar diferentes IPs para diferentes bancos, garantindo que o acesso seja restrito apenas a hosts confiáveis.

> **Importante**: Certifique-se de que o arquivo `.pgpass` tenha permissões restritas para o usuário correto. No Linux, isso é feito com o comando:
```bash
chmod 600 ~/.pgpass
```

#### 2. Arquivo `pg_hba.conf` (Configuração de acesso ao PostgreSQL)
O arquivo `pg_hba.conf` define quem pode se conectar ao banco de dados, de onde, e como deve ser autenticado. Configurar corretamente esse arquivo é fundamental para evitar invasões.

**Exemplo seguro de `pg_hba.conf`**:
```ini
# Permitir apenas conexões locais (localhost) para usuários autenticados via senha (md5)
local all all md5

# Permitir conexões apenas de IPs internos específicos (ex: 192.168.0.x) com autenticação por senha forte
host all all 192.168.0.0/24 md5

# Bloquear qualquer outro acesso externo
host all all 0.0.0.0/0 reject
```
- **Local**: O primeiro bloco permite que qualquer usuário do sistema se conecte localmente, desde que tenha a senha correta (autenticação `md5`).
- **IP Interno**: O segundo bloco permite que apenas computadores da rede interna 192.168.0.0/24 acessem o banco de dados, exigindo autenticação por senha (`md5`).
- **Rejeição Global**: O terceiro bloco garante que qualquer outro acesso (externo ou de IPs desconhecidos) seja explicitamente rejeitado, prevenindo tentativas de acesso não autorizadas.

#### 3. Alteração da porta padrão no `postgresql.conf`
A mudança da porta padrão (5432) para uma porta diferente (como 9554433229) ajuda a dificultar a detecção automatizada de instâncias PostgreSQL.

**Passos para alterar a porta**:

- Abra o arquivo `postgresql.conf`, que geralmente fica no diretório de dados do PostgreSQL. Exemplo de caminho em sistemas Linux: `/etc/postgresql/14/main/postgresql.conf`.

- Procure a linha referente à porta:
```ini
# Port number for PostgreSQL to listen on
port = 5432
```

- Altere a porta para 9554433229 (ou outra de sua escolha):
```ini
port = 9554433229
```

- Reinicie o serviço PostgreSQL para aplicar as alterações:
```bash
sudo systemctl restart postgresql
```

#### 4. Configurações Adicionais de Segurança

- **Firewall**: Configure um firewall para permitir apenas o tráfego na nova porta do PostgreSQL (9554433229). No Linux com `ufw`, você pode fazer isso com:
```bash
sudo ufw allow 9554433229/tcp
```

- **SSL/TLS**: Habilite SSL no PostgreSQL para garantir que as conexões sejam criptografadas. No `postgresql.conf`, configure:
```ini
ssl = on
```
E adicione certificados SSL para garantir a segurança da conexão.

---

Com essas configurações, você protege o PostgreSQL de forma eficaz, evitando acessos não autorizados, usando senhas fortes, restringindo acessos a IPs confiáveis, e mudando a porta padrão para dificultar a exploração automatizada.

[20/09/2024, 15:16:08] Adriano Boller: *No Windows*

Para configurar o PostgreSQL de forma segura em **Windows**, incluindo a configuração de `pgpass`, `pg_hba.conf` e a alteração da porta padrão, aqui está um guia prático:

### 1. Arquivo `pgpass.conf` no Windows

No Windows, o arquivo `pgpass.conf` tem a mesma função que no Linux, mas o local de armazenamento é diferente. Ele permite armazenar as credenciais de conexão de forma segura para scripts e automações.

#### **Passos para criar o `pgpass.conf`**:

1. **Localização do Arquivo**:
O arquivo `pgpass.conf` deve ser criado na pasta do usuário no caminho:
```
C:\Users\<SEU_USUARIO>\AppData\Roaming\postgresql\pgpass.conf
```

2. **Conteúdo do `pgpass.conf`**:
O formato é o mesmo, contendo `hostname:port:database:username:password`.

**Exemplo**:
```
# Formato: hostname:port:database:username:password
localhost:9554433229:meu_banco:meu_usuario:minha_senha_forte
192.168.0.100:9554433229:outro_banco:outro_usuario:senha_muito_secreta
```

3. **Definindo Permissões**:
- No Windows, é essencial que apenas o usuário proprietário tenha permissão de leitura/escrita no arquivo. Para ajustar isso:
1. Clique com o botão direito no arquivo `pgpass.conf` e selecione **Propriedades**.
2. Vá para a aba **Segurança**.
3. Remova o acesso de todos os outros usuários, deixando apenas o seu.

### 2. Arquivo `pg_hba.conf` no Windows

O arquivo `pg_hba.conf` no Windows tem o mesmo propósito de definir quem pode se conectar ao PostgreSQL, de onde, e como a autenticação será feita.

#### **Localização do `pg_hba.conf`**:
O `pg_hba.conf` está localizado dentro da pasta de instalação de dados do PostgreSQL, geralmente em:
```
C:\Program Files\PostgreSQL\<versao>\data\pg_hba.conf
```

#### **Configuração Segura do `pg_hba.conf`**:

Aqui está um exemplo de configuração que limita o acesso ao servidor e impede invasores de fora da rede local.

```ini
# Permitir apenas conexões locais no servidor Windows
local all all md5

# Permitir conexões apenas de IPs internos (ex: 192.168.0.x) com autenticação por senha forte
host all all 192.168.0.0/24 md5

# Bloquear qualquer outro acesso externo
host all all 0.0.0.0/0 reject
```

- **Conexões locais**: O primeiro bloco permite apenas conexões locais no servidor (exemplo, scripts rodando no mesmo servidor) com autenticação por senha (`md5`).
- **Conexões da rede interna**: O segundo bloco permite que apenas IPs da rede interna 192.168.0.x possam se conectar, exigindo autenticação com senha.
- **Rejeição de outros acessos**: O terceiro bloco bloqueia qualquer outra conexão que não seja da rede local.

> Após editar o `pg_hba.conf`, reinicie o serviço PostgreSQL para aplicar as mudanças.

### 3. Alterar a Porta Padrão no Windows

A mudança da porta padrão do PostgreSQL dificulta ataques automatizados que procuram a porta padrão (5432).

#### **Alterando a Porta no `postgresql.conf`**:

1. Abra o arquivo `postgresql.conf`, localizado em:
```
C:\Program Files\PostgreSQL\<versao>\data\postgresql.conf
```

2. Encontre a linha:
```ini
# Port number for PostgreSQL to listen on
port = 5432
```

3. Altere para outra porta, como 9554433229:
```ini
port = 9554433229
```

4. Salve o arquivo e reinicie o PostgreSQL para aplicar a mudança.

#### **Reiniciando o Serviço PostgreSQL no Windows**:

1. Abra o **Prompt de Comando** com permissões de administrador.
2. Execute o seguinte comando para reiniciar o serviço:
```bash
net stop postgresql-x64-14
net start postgresql-x64-14
```
(Substitua `14` pela sua versão instalada).

### 4. Configurando o Firewall no Windows

Após mudar a porta do PostgreSQL, é importante ajustar o firewall para permitir o tráfego na nova porta e bloquear conexões indesejadas.

#### **Passos para Configurar o Firewall**:

1. Abra o **Firewall do Windows com Segurança Avançada**.
2. Crie uma nova regra de entrada para permitir conexões TCP na nova porta:
- Vá para **Regras de Entrada** > **Nova Regra**.
- Selecione **Porta** e clique em **Avançar**.
- Escolha **TCP** e especifique a nova porta (5433, por exemplo).
- Defina a ação como **Permitir Conexão**.
- Aplique a regra a perfis de rede **Privado** e **Domínio** (evite aplicar em **Público**).

3. Opcionalmente, você pode bloquear outras portas não utilizadas ou limitar ainda mais as regras de firewall para hosts específicos.

---

### Recapitulando os Passos:

1. **pgpass.conf**: Armazenar credenciais com senhas fortes e definir permissões restritas.
2. **pg_hba.conf**: Restringir conexões a usuários locais e IPs confiáveis da rede.
3. **Alterar porta**: Mudar a porta padrão do PostgreSQL para dificultar ataques automatizados.
4. **Firewall**: Configurar o firewall do Windows para permitir apenas o tráfego na nova porta e de hosts confiáveis.

Com essas configurações, seu PostgreSQL no Windows estará muito mais protegido contra invasores.
Boller
[20/09/2024, 14:20:45] Adriano Boller: O arquivo `pgpass` é uma ferramenta muito útil no PostgreSQL, especialmente nas versões mais recentes, por várias razões, principalmente relacionadas à segurança e automação no acesso ao banco de dados.

### Motivos para usar o `pgpass`:

1. **Automatização de Conexões Seguras**:
O `pgpass` armazena as credenciais do banco de dados (usuário, senha, host e porta) de forma segura, permitindo que scripts e programas possam se conectar ao banco de dados sem solicitar interativamente as credenciais. Isso é essencial para automação de tarefas de manutenção, backups, restaurações e migrações que precisem ser realizadas sem intervenção humana.

2. **Evita Expor Senhas em Scripts**:
Em vez de passar a senha diretamente em um comando SQL ou script, o `pgpass` permite que você armazene as credenciais de maneira centralizada, reduzindo o risco de expor a senha em arquivos de script ou logs. Isso é mais seguro e facilita a gestão de acesso em servidores.

3. **Compatibilidade com Múltiplas Instâncias**:
O arquivo `pgpass` pode ser configurado para armazenar credenciais de várias instâncias do PostgreSQL. Ele consegue gerenciar conexões para diferentes servidores, usuários e bancos de dados, tornando mais fácil o gerenciamento de ambientes com várias instâncias do PostgreSQL.

4. **Suporte Nativo e Integração Simples**:
O PostgreSQL, nas suas versões mais recentes, oferece suporte nativo ao `pgpass`, o que facilita sua integração sem necessidade de bibliotecas adicionais. Ele é automaticamente reconhecido pelas ferramentas do PostgreSQL, como o `psql` e o `pg_dump`, quando estas são executadas pelo mesmo usuário que possui o arquivo `pgpass`.

5. **Aprimoramento da Segurança**:
Ao configurar o `pgpass` corretamente, você pode garantir que ele tenha permissões de leitura adequadas (apenas o usuário proprietário pode acessá-lo), tornando o acesso ao banco de dados mais seguro do que armazenar as credenciais diretamente em scripts ou variáveis de ambiente.

### Como funciona o `pgpass`:
- O arquivo `.pgpass` (no Linux) ou `pgpass.conf` (no Windows) deve ser criado no diretório home do usuário que se conecta ao PostgreSQL.
- A sintaxe do arquivo é simples, com cada linha contendo: `hostname:port:database:username:password`.
- O PostgreSQL lerá este arquivo sempre que for necessária uma autenticação, utilizando as credenciais armazenadas para realizar a conexão automaticamente.

### Exemplo de configuração:
```
# Exemplo de arquivo pgpass
localhost:5432:meu_banco:meu_usuario:minha_senha
```

### Considerações finais:
Com o avanço das versões do PostgreSQL, a configuração do `pgpass` tem sido cada vez mais recomendada para garantir práticas de segurança eficientes e automação, permitindo que os administradores mantenham um ambiente controlado e seguro, especialmente em servidores de produção.

Se precisar de ajuda para configurar o `pgpass`, posso te guiar nos detalhes técnicos!
Boller
PASSO A PASSO PARA INSTALAR O DRIVER DO POSTGRESQL
20/04/2024 - BY BOLLER

A) instalar o PostgreSQL na sua máquina = do servidor da nuvem ou empresa na mesma versão este terá a base teste e as dlls que tu precisa ter no workstation,

SE server 15 em tua máquina 15

SE tua máquina for 32 bits ou tiver clientes 32 terá que instalar versoes antigas do PostgreSQL abaixo 12



B) instalar o driver da PCSOFT da Versao 28 se teu WX (Windev, Webdev e Windev Mobile) for 28, Nesse link:

https://package.windev.com/pack/addons/an/postgresql/POSTGRESQL28PACKDVD051.exe



C) instalar a libpq.dll e seus acessórios e dependências dlls auxiliares que tem dentro desse utilitário

https://repository.windev.com/resource.awp?file_id=281474976710821;instalador-driver-nativo-postgresql-windev-webdev-biblioteca-libpqdll-biblioteca-lib-postgresql-para-usar


Colocar essas dlls conforme orientação dos comentários que tem nesse link, mas que seria dentro da pasta
C:\PCSOFT\Windev 28\Prograns\Framework\64bits


SE não colocar aqui não vai levar aí fazer o setup install


D) se ainda assim não rodar e der erro 52

Busca no http://repository.windev.com por erro e ache erro 52

LINK
https://repository.windev.com/resource.awp?file_id=281474976711878;postgresql-como-corrigir-erro-52

Esse erro 52 ocorre em máquinas que não tem o .net que são 2 dlls e 2 install de 32 e 64 bits que habilita o windows a todas as dlls do PostgreSQL


E) se o erro 52 não deu mais mas ainda não consegue conectar em localhost e nem no server
Daí é erro no pg_hba.conf
Na última linha coloque:

Host all all all trust

Salve e reinicie o serviço do PostgreSQL
Isso temporariamente


F) se ainda não conectar lembre-se que deve saber o usuário postgres e sua senha e a porta
Nunca jamais instalar na porta 5432 jamais
Use números como 66666 ou 1234567890
Para não ter perigo de invasão de ramsoware eu já peguei e por sorte era base teste e deletaram e deixaram o pedido de resgate


G) se ainda não funcionar
No Windev e Webdev tem no F9 compile test uma opção debug in 64
Se for base 32 é computador 32 verificar se não está com a libpq da 64


H) se esqueceu a senha reinstale por cima o PostgreSQL e não esqueça mais


I) Coloque no path do windows o caminho dos diretorios bin e da lib da instalacao do PostgreSQL
Painel de controle / sistemas / configurações avançadas/ variáveis do sistema / path em cima e em baixo cadastre onde está a libpq e de ok


J) último mas super importante abra a porta ?? de entrada e saída do firewall da porta que vc instalou o PostgreSQL
Se foi 5432, 666666, 1234567890,…
Veja também se o antivírus confia nos exe do PostgreSQL
Por favor anotem isso
Mais um detalhe importante
PostgreSQL é case sensitive
Adriano, ADRIANO, aDRIANO, adriano
são diferentes idem pra senha usuário nome de tabela, campos, functions, chaves, índices, sequences …..
Mas é lógico que isso vcs sabem né pois é um banco que roda principalmente no linux.
Boller
EXEMPLO DE EXTEND INFO SEGURO

Por padrão, o Native Access tenta abrir uma conexão SSL e, se falhar, uma conexão não SSL.
Para controlar como a conexão é aberta, adicione a palavra-chave “Modo SSL” às informações estendidas da conexão, seguida do modo desejado.

Exemplo de informações estendidas para usar certificados padrão:

(Arquivos postgresql.crt, postgresql.key, Root.crt no diretório %APPDATA%\postgresql)Porta do servidor=5432;Modo SSL = verificação completa

Exemplo de informações estendidas para usar certificados renomeados:

Server Port=125432; SSL CA = C:\Certificados SSL\CA.crt ; Certificado SSL = C:\Certificados SSL\my.crt ; SSL Key = C:\Certificados SSL\my.key ; SSL Mode = verify-full

ISSO COLOCA NA CONEXAO
Boller
SOBRE SEGURANÇA DO ARQUIVO PG_HBA.CONF

A) more details pg_hba.conf
https://www.postgresql.org/docs/15/auth-pg-hba-conf.html

B) more details ssl
https://www.postgresql.org/docs/15/ssl-tcp.html

C) more detail libpq pgpass very importante
https://www.postgresql.org/docs/current/libpq-pgpass.html

D) more details PostgreSQL
https://savepoint.blog.br/2018/04/19/proteja-o-seu-banco-de-dados-postgresql/

Informações passadas por Fabio Telles da Timbira.
Boller
MUDOU

NAO EH MAIS PORT E AGORA EH SERVER PORT, POR QUE NAO SEI, MAS MUDOU

https://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/4122-atencao-versao-28-driver-nativo-postgresql-teve-uma/read.awp
Boller
IMPORTANTE:
PORTA FIREWALL DEVE SER ABERTA
CRIAR REGRA DE INBOUND E OUTBOUND / ENTRADA E SAIDA
Boller
IMPORTANTE
O POSTGRESQL DO SERVIDOR DEVE SER A MESMA VERSAO DO COMPUTADOR DE DESENVOLVIMENTO
Boller
DOWNLOAD DE TODOS OS DRIVERS NATIVOS FREE DA PCSOFT

WX20
https://package.windev.com/pack/addons/an/postgresql/WX200PACKPOSTGRESQL029.exe
https://package.windev.com/pack/addons/an/mariadb/WX200PACKMARIADB029.exe
https://package.windev.com/pack/addons/an/mysql/WX200PACKMYSQL029.exe

WX21
https://package.windev.com/pack/addons/an/postgresql/WX210PACKPOSTGRESQL039d.exe
https://package.windev.com/pack/addons/an/mariadb/WX210PACKMARIADB039e.exe
https://package.windev.com/pack/addons/an/mysql/WX210PACKMYSQL039d.exe

WX22
https://package.windev.com/pack/addons/an/postgresql/WX220PACKPOSTGRESQL037.exe
https://package.windev.com/pack/addons/an/mariadb/WX220PACKMARIADB037.exe
https://package.windev.com/pack/addons/an/mysql/WX220PACKMYSQL052.exe

WX23
https://package.windev.com/pack/addons/an/postgresql/WX230PACKPOSTGRESQL029b.exe
https://package.windev.com/pack/addons/an/mariadb/WX230PACKMARIADB029b.exe
https://package.windev.com/pack/addons/an/mysql/WX230PACKMYSQL029b.exe

WX24
https://package.windev.com/pack/addons/an/mariadb/WX240PACKMARIADB029d.exe
https://package.windev.com/pack/addons/an/postgresql/WX240PACKPOSTGRESQL029d.exe
https://package.windev.com/pack/addons/an/mysql/WX240PACKMYSQL029d.exe

WX25
https://package.windev.com/pack/addons/an/postgresql/POSTGRESQL25PACK052b.exe
https://package.windev.com/pack/addons/an/mariadb/MARIADB25PACK052b.exe
https://package.windev.com/pack/addons/an/mysql/MYSQL25PACK052b.exe

WX26
https://package.windev.com/pack/addons/an/postgresql/WX260PACKPOSTGRESQL052b.exe
https://package.windev.com/pack/addons/an/mariadb/WX260PACKMARIADB052b.exe
https://package.windev.com/pack/addons/an/mysql/WX260PACKMYSQL052b.exe

WX27
https://package.windev.com/pack/addons/an/postgresql/WX270PACKPOSTGRESQL055b.exe
https://package.windev.com/pack/addons/an/mariadb/WX270PACKMARIADB055b.exe
https://package.windev.com/pack/addons/an/mysql/WX270PACKMYSQL055b.exe

WX28
https://package.windev.com/pack/addons/an/postgresql/POSTGRESQL28PACKDVD051.exe
https://package.windev.com/pack/addons/an/mariadb/MARIA28PACKDVD051.exe
https://package.windev.com/pack/addons/an/mysql/MSQL28PACKDVD051.exe

by JEROME AERTS
Boller
DOWNLOAD DOS DRIVERS NATIVOS OFICIAIS DA PCSOFT

https://forum.pcsoft.fr/en-US/pcsoft.br.windev/4000-links-oficiais-dos-drivers-nativos-pcsoft-jerome-aerts-4001/read.awp
Boller
https://pcsoft.fr/st/telec/modules-communs-28/postgresql.htm

https://pcsoft.fr/st/telec/modules-communs-27/postgresql.htm

https://pcsoft.fr/st/telec/modules-communs-26/postgresql.htm

https://pcsoft.fr/st/telec/modules-communs-25/postgresql.htm

https://pcsoft.fr/st/telec/modules-communs-24/postgresql.htm

https://pcsoft.fr/st/telec/modules-communs-23/postgresql.htm

https://pcsoft.fr/st/telec/modules-communs-23/postgresql.htm

https://pcsoft.fr/st/telec/modules-communs-22/postgresql.htm

https://pcsoft.fr/st/telec/modules-communs-21/postgresql.htm

https://pcsoft.fr/st/telec/modules-communs-20/postgresql.htm
Boller
ANOTE

A libpq.dll deve ser de acordo com a versão 14 e plataforma 64 bits adequada

Deve copiar para o diretórios:

W.A.S.

C:\Windows\System32
C:\Windows\Syswow64

C:\Program Files\PC SOFT\WINDEV 25\Programs\Framework\Win64x86
C:\Program Files\PC SOFT\WEBDEV 25\Programs\Framework\Win64x86
C:\Program Files\PC SOFT\WINDEV Mobile 25\Programs\Framework\Win64x86

Foi copiado as dlls para sobrescrever versoes velhas que poderiam dar conflito

Acertar em Painel de Controle, Sistema, Configuracoes Avançadas / Variáveis de ambiente/ path colocar onde fica as dlls e libs

Ok
Boller
A libpq.dll deve ser de acordo com a versão 14 e plataforma 64 bits adequada

Deve copiar para o diretórios:

W.A.S.

C:\Windows\System32
C:\Windows\Syswow64

C:\Program Files\PC SOFT\WINDEV 25\Programs\Framework\Win64x86
C:\Program Files\PC SOFT\WEBDEV 25\Programs\Framework\Win64x86
C:\Program Files\PC SOFT\WINDEV Mobile 25\Programs\Framework\Win64x86

Foi copiado as dlls para sobrescrever versoes velhas que poderiam dar conflito

Acertar em Painrl de Vontrole, Sistema, Configuracoes Avançadas / Variáveis de ambiente/ path colocar onde fica as dlls e libs

Ok
Boller
As dlls no Webdev de driver devem estar no W.A.S.

Ele é o escritor se ele não tiver a dll da versão do banco que está usando ele nso consegue fazer iO!
Boller
https://pcsoft.fr/st/telec/modules-communs-27/postgresql.htm

https://pcsoft.fr/st/telec/modules-communs-26/postgresql.htm

https://pcsoft.fr/st/telec/modules-communs-25/postgresql.htm

https://pcsoft.fr/st/telec/modules-communs-24/postgresql.htm

https://pcsoft.fr/st/telec/modules-communs-23/postgresql.htm

https://pcsoft.fr/st/telec/modules-communs-23/postgresql.htm

https://pcsoft.fr/st/telec/modules-communs-22/postgresql.htm

https://pcsoft.fr/st/telec/modules-communs-21/postgresql.htm

https://pcsoft.fr/st/telec/modules-communs-20/postgresql.htm
Boller
Itens a checar

1) Esse usou código para conectar ou a análise verifique em extendinfo se tem = "port=5432"

myPostgresql Is connection

myPostgresql..server = “192.168.1.120”

myPostgresql..extendinfo = “port=5432”

myPostgresql..user = “postgres”

myPostgresql..password = 123456

myPostgresql..database = “dbequipamentos”

myPostgresql..profiler = NativePostgreSQL….

Hopenconnection (myPostgresql)

2) ping 192.168.1.120 // no caso o ip em questão deve dar ping ou o Firewall está bloqueando

3) O pg_hba.conf não está em Trust
host ALL ALL ALL trust
Coloca em todas as linhas Trust

4) copiar a libpq.dll daqui do botão download de acordo com a versão usada se atentar também
Deve estar em Windows System32 ou syswow64

5) Revisar o Firewall e o antivírus criar regras de confiança

6) banco, usuário e senha com maiúsculo pode dar erro

Ok se tiver dificuldade me ligue no +5541999491800
Boller
Se alterar o arquivo pg_hba.conf é obrigatório reiniciar o computador ou o serviço
Boller
Postgresql

Instalação do Driver e definição da versao e libpq.dll da versao 14

a) Painel de controle, Sistema, Configurações, Variaveis do sistema

b) path na parte de cima e na parte de baixo informar esses caminhos:

C:\Program Files\PostgreSQL\14\pgAdmin 4\bin
C:\Program Files\PostgreSQL\14\bin
C:\Program Files\PostgreSQL\14\lib

c) instalar o driver da pcsoft
https://pcsoft.fr/st/telec/modules-communs-24/postgresql.htm
https://pcsoft.fr/st/telec/modules-communs-25/postgresql.htm
https://pcsoft.fr/st/telec/modules-communs-26/postgresql.htm
https://pcsoft.fr/st/telec/modules-communs-27/postgresql.htm

Instalar e so dar next ele colocara na pasta a dll WD250postgresql.dll = driver nativo

d) Ajustando Zip do repositorio com as dlls da versao 14 junto com a versao da libpq.dll

e) copiar as dlls importantes para o framework
C:\Program Files\PC SOFT\WINDEV 25\Programs\Framework\Win64x86
C:\Program Files\PC SOFT\WEBDEV 25\Programs\Framework\Win64x86
C:\Program Files\PC SOFT\WINDEV Mobile 25\Programs\Framework\Win64x86
Foi copiado as dlls para sobrescrever versoes velhas que poderiam dar conflito


Pois ao fazer o deploy e o envio dos arquvos vai as dlls necessarias juntas ao projeto

O Postgresql é ALtamente CASE Sensetive Maiusculas e Minusculas devem ser infrmadas
corretamente para nome de usuario, senha, instancia de banco de dados, tabelas e campos.

IMPORTANTE
Tem que liberar no arquivo CONF o acesso se nao ele esta bloqueado
isso é muito importante o que vou fazer agora

pg_hba.conf

host ALL ALL ALL trust

OBS.: PRINCIPAL RECOMENDAÇÃO É DEPOIS DE FAZER TUDO ISSO REINICIAR O COMPUTADOR OU O SERVIÇO QUE DAI VAI FUNCIONAR POIS A LEITURA DO ARQUIVO PG_HBA.CONF SÓ É LIDA NA INICIALIZAÇÃO DO COMPUTADOR.
Boller
ESSA VERSAO ESTA COM AS DLLS LIB DA VERSAO 9 ATE A VERSAO 14 - DATA: 20/05/2022
GARCIA MEREL ENRIQUE
listo para la ver. 14
GARCIA MEREL ENRIQUE
gracias sr. adriano por el aporte a la comunidad pcsoft.
Boller
https://forum.pcsoft.fr/fr-FR/pcsoft.br.windev/3364-driver-oracle-manual-instalacao/read.awp
A PROPOS
EVALUATION :
57(7)
TELECHARGEMENTS :
1 208
MISE À JOUR :
21 septembre 2023
VERSION :
24
CONCERNE :
WINDEV, WEBDEV, WINDEV Mobile
Version minimale : 24
TAILLE :
118,1 Mo