> #include <iostream>
> #include <pqxx/pqxx>
> #include <vector>
>
> int main() {
> std::vector<pqxx::connection*> connections;
>
> for (unsigned int i = 0; i < 100; ++i) {
> try {
> connections.push_back(new
> pqxx::connection("host=localhost dbname=fcweb port=6432 user=postgres
> password=postgres"));
>
Con lo poco que averigué, creo que estas utilizando push_back de una
manera incorrecta.
http://blogninja.com/doc/libpqxx-dev/html/Reference/a00266.html#57b422363e6126946a742ab1814f90a3
Fijate que psh_back pertenece a tablewriter. En todo caso tendrías que
almacenar la conexión como una variable aparte, sin ponerla dentro de
esta función AFAIK.
Además estas utilizando push_back unicamente cuando nisiquiera tenés
abierta la conexión. Fijate en este ejemplo:
http://svn.openstreetmap.org/applications/utils/misc/api06_migrate/changeset_synth.cpp
> pqxx::work t(*connections[i], "DemoTransaction");
>
> t.commit();
> connections[i]->disconnect();
> delete connections[i];
> }
> catch(std::exception &e) {
> std::cout << e.what() << std::endl;
> }
> }
> return 0;
> }
>
>
> Para probar que pasaría si se cae la conexión lo que hacemos es parar el
> gestor de base de datos. Cuando ello sucede no ejecuta nada más luego de la
> línea:
>
> connections.push_back(new pqxx::connection("host=localhost dbname=fcweb
> port=6432 user=postgres password=postgres"));
>
> sino que se queda en un ciclo infinito en ella, pero nunca el programa recibe
> noticias de cual es el problema.
>
Creo que es porque los parametros que debe recibir esa función no son
los que le estas pasando.
>
> Se que no debemos conectarnos directamente con el usuario postgres. Cuando el
> servidor está corriendo funciona bien.
>
Para pruebas esta bien, luego no te olvides de cambiarlo.
--
Emanuel Calvo Franco
ArPUG [www.arpug.com.ar] / AOSUG Member
www.emanuelcalvofranco.com.ar
--
TIP 6: �Has buscado en los archivos de nuestra lista de correo?
http://archives.postgresql.org/pgsql-es-ayuda