SQLRDD++: índices com funções do Harbour agora viram índices de expressão nativos no PostgreSQL (adeus colunas INDKEY_)

Forum sobre SQL.

Moderador: Moderadores

Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2849
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP
Curtiu: 4 vezes
Curtiram: 1 vez

Re: SQLRDD++: índices com funções do Harbour agora viram índices de expressão nativos no PostgreSQL (adeus colunas INDKE

Mensagem por Jairo Maia »

Olá Pessoal,
marcoprodata escreveu: 15 Jul 2026 15:10Sobre o erro geralmente pode ser conflito de DLL, mantenha as dlls inicialmente na pasta do executavel, pra garantir que não vai chamar alguma dll de outra pasta que esteja no path.
Sim, elas estão na mesma pasta do executável.
marcoprodata escreveu: 15 Jul 2026 15:10Verifique também se compilou o harbour com postgresql, e qual versão do postgresql usou para compilar o harbour.
Pois é! Acho que aqui está o problema. Uso a versão night, que já vem compilada.

Vou partir para compilar o harbour, depois avanço mais com SQL, e "ontem", ou seja, vou iniciar a compilar o harbour antes...

JoséQuintas escreveu: 15 Jul 2026 14:57Não entendi o "agora preciso mesmo mudar".
Como viu, "agora preciso mesmo mudar" está entre aspas. Substitua por: "somente agora é que quero muito mudar".

A idéia, é que o passo seguinte eu coloque relatórios com acesso via internet, via site. Isso porque estou deixando de ter um cliente com 3 lojas, que a tempos me diz que se eu colocar esse recurso, ele trabalha com meu sistema. Apenas isso.

Sobre pagar um profissional para fazer a migração, não está no scopo. Se eu tiver que mudar será por mim, caso contrário, deixo como está, pois o sistema está rodando muito bem, e atende bem os clientes.

Hoje uso Leto_Dbf, e o cliente que quiser acessa o sistema de qualquer lugar. Mas tem a limitação de ser apenas quando o Servidor está ligado na loja.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8153
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 6 vezes
Curtiram: 1 vez

Re: SQLRDD++: índices com funções do Harbour agora viram índices de expressão nativos no PostgreSQL (adeus colunas INDKE

Mensagem por Itamar M. Lins Jr. »

Olá!
Jairo Maia escreveu: 15 Jul 2026 19:20 Hoje uso Leto_Dbf, e o cliente que quiser acessa o sistema de qualquer lugar. Mas tem a limitação de ser apenas quando o Servidor está ligado na loja.
Eu tenho um sistema que não é pequeno usando LetoDBf num VPS e roda sem problema nenhum.
E roda com UPLOAD de IMAGENS (NFe), RECIBOS. Arquivo PNG, JPEG...
É rápido, 100% Harbour com Hwgui, inclusive no Linux. Lógico que migrando para bancos relacionais será melhor ainda.
O inconveniente é que se demorar alguns minutos sem usar o sistema a pessoa é deslogada.
Eu não quis mexer nessa parte.
É mais barato usar um provedor de banco de dados,(que não tem para LetoDBf) que um VPS, em contra partida o VPS, é mais abrangente.
Usando uma conexão sem fio, capenga...rsrsrsr aqui em casa.
O arquivo de logs, com mais de 3 mil registros, caixa com mais de 4 mil...
Captura_de_tela_20260715_231959.png
Captura_de_tela_20260715_231959.png (343.18 KiB) Exibido 184 vezes
Fiz o arquivo de logs imitando o phpBB.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8153
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 6 vezes
Curtiram: 1 vez

Re: SQLRDD++: índices com funções do Harbour agora viram índices de expressão nativos no PostgreSQL (adeus colunas INDKE

Mensagem por Itamar M. Lins Jr. »

Olá!
A idéia, é que o passo seguinte eu coloque relatórios com acesso via internet, via site.
Isso já tá praticamente pronto usando o VPS, mas Mod_Harbour, ou qualquer coisa similar com seus DBFs.
Não é o DBF(LetoDBf) ou PostgreSQL que vai te dar isso. Precisa começar a fazer seu site ai no seu micro e/ou pedir para a IA te ajudar com as telas.
Só login com um menu de relatórios é mais simples. O problema das opções usando o Harbour é a parte de vendas, cartões, emissão de NFe.
Use Console/Caractere(CUI)/Hwgui/Minigui ou se não quer saber de nada disso use HTML(Universal/Smartphones) veja o que é mais viável para vc nesse momento.
Fiz aqui um sistema baseado no arquivo caixa, várias pessoas autorizadas tem acesso. O incoveniente é ter que instalar o "sistema" no micro(notebook) dos outros.
Existem n opções, depois que começa a trabalhar com isso, as ideias vão melhorando.
Veja eu não fiz assim. Já tinha o sistema em com 1 pessoa usando por anos no desktop. Depois ele me pediu para usar de vários lugares, e depois para várias pessoas usarem. Dai vai modificando conforme a necessidade.
Captura_de_tela_20260715_232607.png
Captura_de_tela_20260715_232607.png (168.3 KiB) Exibido 180 vezes
Os botões em AZUL significa que a pessoa SUBIU a NFe/NFCe como PDF/JPEG/PNG... Uma foto que tira usando o celular e manda para o responsável do caixa(tesoureiro), basta clicar nessa LUPA ai que aparece.
Amarelo falta subir o documento.
Como já estou detectando uns probleminhas de quem pode ou não usar o sistema a melhor forma é HTML mesmo, que resolve tudo isso.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20516
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP
Curtiram: 2 vezes

Re: SQLRDD++: índices com funções do Harbour agora viram índices de expressão nativos no PostgreSQL (adeus colunas INDKE

Mensagem por JoséQuintas »

Jairo Maia escreveu: 15 Jul 2026 19:20 A idéia, é que o passo seguinte eu coloque relatórios com acesso via internet, via site. Isso porque estou deixando de ter um cliente com 3 lojas, que a tempos me diz que se eu colocar esse recurso, ele trabalha com meu sistema. Apenas isso.
Aqui menciona apenas relatórios.
Relatórios podem ser relatórios prontos, ou base de dados só pra tirar relatórios.
Isso é diferente de ter o sistema inteiro disponível, ou ter bases pra acesso completo.

Mencionou usar windows e linux.
Mencionou que o servidor é desligado a noite, o que dá a entender que os relatórios seriam sobre o que aconteceu durante o dia..
Avalie exatamente o que precisa de funcionamento.
Encima disso, como fica a parte de hardware, real ou virtual ou na internet.
Colocar máquina própria envolve também cuidar de toda segurança/backup/etc. de tudo.
A princípio, linux tem o uso remoto sem precisar pagamento extra, o contrário do windows.
Não sei como fica no uso gráfico, se precisa o tal x11 ou algo parecido, esse assunto eu desconheço.

NÃO COMPLIQUE.
Se na internet é pra consulta, não precisa ser harbour nem nada parecido, não precisa nem mesmo ser DBF, mas também é possível usar DBF.
E poderia até ser relatório pronto, gerado com atualizações por hora, por exemplo.
Do lado do cliente, só navegar e nada mais, nem de harbour precisa.
José M. C. Quintas
Harbour 3.2, mingw, multithread, gtwvg, fivewin 25.12, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui), (hmg3), (hmg extended), (oohg), PNotepad, ASP, (Linux/Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8153
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 6 vezes
Curtiram: 1 vez

Re: SQLRDD++: índices com funções do Harbour agora viram índices de expressão nativos no PostgreSQL (adeus colunas INDKE

Mensagem por Itamar M. Lins Jr. »

Olá!
Jairo, se precisar fazer testes com uma base de dados em PostgreSQL, me avise.
Montei uma para começar a migração e posso criar uma para vc fazer seus testes.
No caso, preciso do seu IP externo e do nome da base de dados que vc terá acesso.
Pq, é a questão de segurança mesmo. Só liberar o acesso ao servidor via SSL e ao IP autorizado.
Pode me mandar em private se desejar.
Se precisar dos arquivos compilados do Harbour no Windows, e do SQLRDD++, vou separar aqui e faço upload da versão atual aqui mesmo no forum.
E do SQLMIX também.
Estou usando GCC 16 UCRT 64bits(Windows). Tudo 64 bits, não tem mais nada 32bits por aqui nem no Windows.
Já testei aqui no Linux é está rodando suave. Criei uma base de dados de nome database, é só um exemplo para testes mínimos, não vou encher de dados.

Código: Selecionar todos

itamar@itamar-I7:~/dev/hb32$ psql -h abc.abc.abc.abc -p xyz -U itamar -d database
Password for user itamar: 
psql (18.4 (Ubuntu 18.4-0ubuntu0.26.04.1), server 17.10 (Ubuntu 17.10-0ubuntu0.25.10.1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off, ALPN: postgresql)
Type "help" for help.

database=> \conninfo
            Connection Information
      Parameter       |         Value          
----------------------+------------------------
 Database             | database
 Client User          | itamar
 Host                 | 111.11.11.11
 Server Port          | abcd
 Options              | 
 Protocol Version     | 3.0
 Password Used        | true
 GSSAPI Authenticated | false
 Backend PID          | 1765797
 SSL Connection       | true
 SSL Library          | OpenSSL
 SSL Protocol         | TLSv1.3
 SSL Key Bits         | 256
 SSL Cipher           | TLS_AES_256_GCM_SHA384
 SSL Compression      | false
 ALPN                 | postgresql
 Superuser            | off
 Hot Standby          | off
(18 rows)
database=> 
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Jairo Maia
Moderador
Moderador
Mensagens: 2849
Registrado em: 16 Ago 2010 13:46
Localização: Campinas-SP
Curtiu: 4 vezes
Curtiram: 1 vez

Re: SQLRDD++: índices com funções do Harbour agora viram índices de expressão nativos no PostgreSQL (adeus colunas INDKE

Mensagem por Jairo Maia »

Olá Itamar,
Itamar M. Lins Jr. escreveu: 17 Jul 2026 12:19No caso, preciso do seu IP externo e do nome da base de dados que vc terá acesso.
Assim que eu criar a base de dados no site eu mando os dados por private, ok? Creio que não será hoje, mas crio e envio os dados.

Obrigado.

Mudança de paradgma: Até hoje usei o Harbour versão nightly. Ontem a tarde baixaei a mingw32 e reconfigurei meu ambiente de programação. Baixei e compilei o Harbour 3.2.1, e estou fazndo os últimos ajustes aqui.

NOTA: Sei que somente deve colocar em produção os sistemas compilados com a versão do harbour baixada, após testes, e se houver problema ou incerteza, deixar em produção os sistema compilados coma versão estável, a versão 3.2.0. Mas agora eu mesmo baixo e compilo o Harbour. Estou fazendo os últimos ajustes na minha máquina.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 8153
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 6 vezes
Curtiram: 1 vez

Re: SQLRDD++: índices com funções do Harbour agora viram índices de expressão nativos no PostgreSQL (adeus colunas INDKE

Mensagem por Itamar M. Lins Jr. »

Olá!
versão nightly
É a mesma coisa. Só que o GIT compila e gera o nightly.
E baixando os fontes, nós compilamos.
Essa versão nightly não vem com as libs ".a"(GCC) do PostgreSQL por exemplo.
Quando nós geramos dos fontes, ele pega a pasta onde está instalado o PostgreSQL e gera as libs ".a" No caso de quem usa BCC, ele gera "*.lib"
No caso está assim as variáveis de ambiente. Por enquanto só essas duas mesmo.

Código: Selecionar todos

C:\Users\Itamar>set hb
HB_INSTALL_PREFIX=C:\HB32
HB_WITH_PGSQL=C:\Program Files\PostgreSQL\18\include
Saudações,
Itamar M. Lins Jr.
marcoprodata
Usuário Nível 1
Usuário Nível 1
Mensagens: 21
Registrado em: 12 Abr 2010 18:56
Localização: Caratinga
Curtiram: 1 vez

Re: SQLRDD++: índices com funções do Harbour agora viram índices de expressão nativos no PostgreSQL (adeus colunas INDKE

Mensagem por marcoprodata »

Eu sempre compilo usando o MSVC, a algum tempo fiz uma pesquisa onde dizia que tinha um desempenho melhor, problema é que tem que ficar instalando o runtime nos clientes, mas a maioria já tem instalado, logo acabou não sendo um grande problema, segue meu bat de compilação.

Código: Selecionar todos

@echo off
call "C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
set HB_WITH_PGSQL=E:\pg18_dev\pgsql\include
set HB_WITH_MYSQL=G:\mysql8.4.5\include
set HB_INSTALL_PREFIX=E:\harbour
set HB_WITH_MXML=E:\minixml
cd harbour-core
win-make clean install
depois pra compilar o sqlrdd++ é apenas hbmk2 nos arquivos .hbp.
Responder