Tengo instaladas las versiones 8.1 y 8.3 de postgres en un server.
El 8.3 lo uso para Kolla y al querer hacer un backup de la base en el script BACAP.sh tengo definido lo siguiente:
Nicolas, ese comando ya lo habia probado y andaba.
El tema es que dentro del archivo .sh no me lo tomaba no se porq.
Igualemtne ahroa lo que probe y anduvo es modificar el pg_hba.conf y quedo con estas lineas:
host all all ip/32 md5
host all all ip/32 md5
host all all 127.0.0.1/32 trust
local all all trust
Lo que si y no estoy segura, es conveniente que lo tenga en trust??? Tengo entendido que no, no???
Trust significa que no te va a pedir contraseña para loguearte a la base de datos. En el caso particular tuyo, donde tenes la linea: “local all all trust”, no le va a pedir clave a los usuarios que entren por socket (es decir, desde la misma maquina sin utilizar tcp/ip). Por ahí podes utilizar una autentificación IDENT para dicho script (el usuario que se conecta a la base de datos es el usuario del S.O).
2011-08-29 12:11:01 ART LOG: no se puede usar autentificación Ident sin el campo de mapa de usuarios
2011-08-29 12:11:01 ART FATAL: la autentificación Ident falló para el usuario «postgres»
si autenticas con IDENT recorda sacarle al script el -U postgres para que te tome el usuario logueado actualmente.
Basicamente el problema que tenes es que el servidor espera un password para el usuario y no hay nada que se lo entregue, por lo tanto no autentica a menos que tengas ‘Trust’ en pg_hba.conf… que es lo mismo que decirle ‘deja la ventana abierta, que pase el que quiera’ :D.
El otro tema que tenes creo yo, es que al usar pipe, el pedido del password por consola evidentemente queda atrapado y por lo tanto no tenes el foco para ingresarlo.
Una opcion que consideraria es la siguiente, tener un usuario pura y exclusivamente para listar (al cual si tenes con Trust y permisos minimos en el motor) y el resto dejar la autenticacion comun.