Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/04/2012, 10:12
Lord_Herman
 
Fecha de Ingreso: marzo-2012
Mensajes: 21
Antigüedad: 12 años, 1 mes
Puntos: 0
Cómo psql.exe con el password

Hola!

Estamos migrando una BD de MySql a Postgres, en C++.

Nos hemos encontrado con el pequeño inconveniente que en postgres, si lanzas el terminal por consola, no te deja pasar el password como argumento, mientras que en MySQL sí lo permitía... Como mucho puedes decirle que sí te pida el password (-W) pero a través de la consola, y en nuestra aplicación la consola no debe estar visible.

De qué manera podemos conectarnos a nuesto servidor de BD sin tener que introducir el password por consola ni tener que estar buscando en ficheros (o en todo caso que el acceso a ese fichero sea por ruta relativa) (por cierto, va a correr sobre sistemas Windows).

Una prueba que acabo de realizar y que era mi esperanza es la siguiente:
system("set PGPASSWORD=pass");
system(" ..\\bd\\psql.exe -U postgres");

Pero se ve que ambas llamadas al sistema son independientes, por lo que las variables de entorno se reinician. También me valdría una forma de ejecutar estas dos instrucciones en una sola llamada.

Muchas gracias.