Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » PostgreSQL »

Cómo psql.exe con el password

Estas en el tema de Cómo psql.exe con el password en el foro de PostgreSQL en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 24/04/2012, 10:12
 
Fecha de Ingreso: marzo-2012
Mensajes: 21
Antigüedad: 12 años
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.
  #2 (permalink)  
Antiguo 25/04/2012, 07:36
 
Fecha de Ingreso: marzo-2012
Mensajes: 21
Antigüedad: 12 años
Puntos: 0
Respuesta: Cómo psql.exe con el password

Antes de nada. Este teclado se me va de madre cuando le apetece y no me van los caracteres raros, asi que no tengo acentos.

Acabo de darme cuenta que el titulo esta mal. Queria decir como lanzar el bash de pgsql pasandole de alguna manera el password como parametro.

Al final lo que he hecho ha sido crear una script bat y lanzarlo desde C++.

El script es algo como. Los cd son para llegar a la ubicacion del ejecutable.
set PGPASSWORD=pass
cd..
cd bd
psql.exe -U postgres

En C++ tan solo he de hacer.
system(" ..\\script.bat");

Muchas gracias.
  #3 (permalink)  
Antiguo 25/04/2012, 17:22
Avatar de drako_darpan  
Fecha de Ingreso: octubre-2008
Ubicación: Sinaloa
Mensajes: 617
Antigüedad: 15 años, 6 meses
Puntos: 58
Respuesta: Cómo psql.exe con el password

Hola que tal, lo que quieres es abrir la conexion a la BD o que es lo que quieres hacer?

Por que al hacer la conexion con C++, por medio de odbc yo no e tenido problemas

odbc.Open("PostgreSQL", Ip, Usuario, Pass, BD);

Etiquetas: password, postgre, sql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:11.