Gostaria de iniciar o comando: pg_dump.exe -h 255.255.255.255 -p 5432 -U postgres -F p -a -v -f "test.db.dump" mydb
de um computador remoto. Tanto o banco de dados quanto o computador remoto estão sob xp.
Enfrento dois problemas:
quando executado na linha de comando do servidor, o pgdump primeiro solicitará uma senha. Como posso conceder a senha na linha de comando? Uma rápida olhada na documentação do pg_dump obviamente não aceita um sinalizador para fazer isso (embora eu possa ter perdido).
se ambas as máquinas estivessem no Linux, eu teria tentado uma conexão SSH com o Putty para executar alguns comandos no servidor psql ... mas com as duas máquinas no Windows, não tenho ideia de por onde começar. O driver psqlODBC permite acesso a pg_dump? Existe um equivalente ao SSL para Windows?
Apenas para explicar o contexto, de fato, meu objetivo principal é obter um script de diagnóstico na máquina remota que reúna algumas informações significativas, incluindo um despejo de algumas ou todas as tabelas da base postgresql. O script de diagnóstico copiará o despejo em outro local no domínio onde todos os resultados de diagnóstico são reunidos.
O script deve ser executado na máquina remota, pois também deve realizar outras operações em outros computadores conectados ao domínio que não sejam o banco de dados postgresql.
Em relação à senha, você tem duas opções:
PGPASSWORD
: http://www.postgresql.org/docs/current/static/libpq-envars.htmlNão entendo porque você precisa executar o pg_dump remotamente? Você pode executar o pg_dump em qualquer computador que possa se conectar ao banco de dados. Não é um "aplicativo de servidor".
Mas para executar um programa em um computador Windows remoto, você pode usar o PsExec