Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

217
Visualizações
conectarse a questDB con libpqxx

Tengo un problema para conectarme a QuestDB con libpqxx, puedo establecer una conexión usando el cliente postgresql según las instrucciones aquí: https://questdb.io/docs/guidePSQL

sin embargo, cuando voy a conectarme a QuestDB, usando mi programa simple, que es más o menos una versión ligeramente modificada del programa estándar "para empezar": https://github.com/jtv/libpqxx

 #include <iostream> #include <pqxx/pqxx> int main(){ try { pqxx::connection C( "user=admin " "hostaddr=127.0.0.1 " "password=quest " "dbname=qdb" "port=8812 "); std::cout << "Connected to " << C.dbname() << std::endl; pqxx::work W{C}; pqxx::result R{W.exec("SELECT name FROM employee")}; std::cout << "Found " << R.size() << "employees:\n"; for (auto row: R) std::cout << row[0].c_str() << '\n'; std::cout << "Doubling all employees' salaries...\n"; W.exec0("UPDATE employee SET salary = salary*2"); std::cout << "Making changes definite: "; W.commit(); std::cout << "OK.\n"; } catch (std::exception const &e) { std::cerr << e.what() << '\n'; return 1; } return 0; }

.. me sale un error:

no se pudo conectar al servidor: conexión rechazada ¿El servidor se ejecuta en el host "127.0.0.1" y acepta conexiones TCP/IP en el puerto 5432?

lo que también complica las cosas posiblemente, es que no puedo encontrar pg_hba.conf en ninguna parte, ¿siguen siendo algo en la versión 10 de postgresql? tengo /usr/lib/postgresql/10 pero no hay archivos de configuración... y también busqué en la máquina... no encontré nada. cualquier ayuda sería muy apreciada.

gracias

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

La documentación oficial de libpqxx establece que:

La cadena de conexión consta de pares atributo=valor separados por espacios, por ejemplo, "usuario=juan contraseña=1x2y3z4". referencia

Su cadena de conexión es:

 pqxx::connection C( "user=admin " "hostaddr=127.0.0.1 " "password=quest " "dbname=qdb" "port=8812 ");

Le falta un espacio después de qdb , por lo que la cadena de conexión correcta es:

 pqxx::connection C( "user=admin " "hostaddr=127.0.0.1 " "password=quest " "dbname=qdb " "port=8812 ");

Lo acabo de probar y me funciona bien.

Por otro lado, la siguiente sentencia SQL:

 W.exec0("UPDATE employee SET salary = salary*2");

No funcionará, UPDATE aún no es compatible con QuestDB. Puede encontrar más detalles sobre la compatibilidad con SQL en la documentación oficial, aquí .

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda