Postado originalmente por
mvzeppelin
Não é possível passar a senha via linha de comando para o postgres, as suas alternativas são:
1) Abrir acesso ao postgres como trust (não remomendado, o banco vai ficar aberto)
2) Exportar uma variável de ambiente para armazenar a senha (não recomendado, em algumas versões de ps usuários normais conseguem ver essa variável).
3) Utilizar o arquivo de autenticação ~/.pgpass (a melhor opção).
Se o seu script vai rodar como root, crie um arquivo chamado /root/.pgpass com o seguinte conteúdo:
localhost:5432:*: postgres:senha
sem espaços entre os campos
Desta forma o usuário postgres pode conectar no banco em localhost sem informar senha, pois a mesma já está informada neste arquivo.
lembre de corrigir as permissões: chmod 600 /root/.pgpass
Falow