Isto você resolve exportando a variável PGPASSWORD. Algo assim:
export PGPASSWORD="..."
if ! pg_dump -i -h localhost -p 5432 -U postgres -F c -b -D -v -f
; then
export PGPASSWORD=""
unset PGPASSWORD
echo -en '\n \E[37;41;1mNão foi possível efetuar a cópia de
segurança!\E[0m\n'
read
exit
fi
export PGPASSWORD=""
unset PGPASSWORD
No entanto eu fiz um script completo de cópia de segurança para
PostgreSQL. Eu o utilizo com Cygwin, mas não vai ser difícil
adapta-lo para Linux:
http://bash.pastebin.com/f325fc4e5
Se lhe interessa pode modifica-lo a vontade, se precisar de ajuda é
só falar.
Márcio Gil.
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of ®...@®ÐØ
> Sent: Thursday, October 22, 2009 10:59 AM
> To: [email protected];
[email protected]
> Subject: [shell-script] inserir senha em pg_dump sem interação
>
> Galera, Muito bom dia a todos.
> O meu problema é o seguinte, preciso executar o comando a baixo
sem
> interação humana, e que por questão de segurança é exigido
> autenticação.
>
> pg_dump -i -h localhost -p 5432 -U postgres -F c -b -D -v -f
> "pg_bkp.backup"
> baseDeDados
>
> tentei executa-lo como abaixo e não deu certo. Gostaria de ajuda
dos
> senhores.
> pg_dump -i -h localhost -p 5432 -U postgres -F c -b -D -v -f
> "pg_bkp.backup"
> baseDeDados <<< senha
>
>
> desde já, muito grato.
> --
> --------------------------------------------------------------
> -----------------------
> A Graça do nosso Senhor Jesus Cristo seja contigo. (1ªTs 5.28)
> The grace of our Lord Jesus Christ be with you. (1ªTs 5.28)
> Jesus te ama, aceite-O! Jesus loves you, accept you Him!
>
> ®...@®ÐØ
>
>