pg_restore

Olá galera!

Desenvolvi um aplicativo para criar o banco de dados e restaurar os arquivos de backup no postgreSQL. Percebi que o comando pg_restore somente restaura o arquivo de backup se a senha do servidor do banco de dados estiver salva no próprio banco. Só percebi isso pq tive que atualizar meu servidor do postgreSQL do 9.0 para o 9.1 pois estava distibuindo minhas aplicações com o 9.1 enquanto desenvolvia com o 9.0. Todos os meus .bat (para gerar o backup como para restaura o banco) estava tendo que criar 2 versões, uma para teste durante o desenvolvimento e outra para instalar na máquina do cliente (com as devidas alterações).
Então, minha dúvida é a seguinte …
Gostaria de saber se não tem como passar essa senha de alguma outra forma, para eu não deixar o banco de dados “aberto” para o cliente manipular os dados diretamente no banco. Estou utilizando os seguintes códigos … para restaura o backup …

        Runtime r = Runtime.getRuntime();
        try {
            Process p = r.exec("C:/Arquivos de programas/PostgreSQL/9.1/bin/pg_restore -d "+ tfDataBase.getText().trim() + " -F c -v -h localhost -p 5432 -U postgres " + tfBackup.getText());
            System.out.println(p);
            if (p != null) {
                OutputStream outputStream = p.getOutputStream();
                outputStream.write("123\r\n".getBytes()); //Como vcs podem notar, já estou passando a senha no código, mas isso não está adiantando!
                outputStream.flush();
                outputStream.close();
                InputStreamReader streamReader = new InputStreamReader(p.getErrorStream());
                BufferedReader reader = new BufferedReader(streamReader);
                String linha;
                while ((linha = reader.readLine()) != null) {
                    System.out.println(linha);
                }
            }
            JOptionPane.showMessageDialog(null, "Estrutura do Banco de Dados Restaurada!");


        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Erro na Restauração do Banco de Dados.");
            e.printStackTrace();
        }
    }                                        

… e para abrir o arquivo que se deseja fazer o backup …

        try{
            JFileChooser busca_arquivo = new JFileChooser(System.getProperty("user.dir"));
            busca_arquivo.setCurrentDirectory(new File("C:/"));
            busca_arquivo.setDialogTitle("Selecione o Arquivo Desejado.");
            busca_arquivo.showOpenDialog(this);
            String arquivo = "\""+busca_arquivo.getSelectedFile().getAbsolutePath()+"\"";
            tfBackup.setText(arquivo);
            
            
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, "Erro ao Capturar Arquivo");
            e.printStackTrace();
        }
    }