na verdade eu estava fazendo via pgadmin com o arquivo de forma manual, ai estava dando esse erro. agora estou usando o pg_restore.exe e está quase tudo ok. estou usando o seguinte comando:
como estou querendo fazer o restore, se o banco existe ele nao deixa fazer…
se o banco NÃO EXISTE ele tambem nao cria o banco,
tem como arrumar isso ou vou ter que fazer de forma manual a exclusão do banco se existir, e se não existir criar o banco?
edit: vi que para o banco excluir e criar existe esses 2 comando:
-c
--clean
Gera comandos para excluir (drop) os objetos do banco de dados antes de criá-los.
Esta opção só faz sentido para o formato texto-puro. Para os outros formatos esta opção pode ser especificada ao se chamar o pg_restore.
-C
--create
Inicia a saída por um comando para criar o próprio banco de dados e se conectar ao banco de dados criado (Com um script assim, não importa em qual o banco de dados se está conectado antes de executar o script).
Esta opção só faz sentido para o formato texto-puro. Para os outros formatos esta opção pode ser especificada ao se chamar o pg_restore.
porem não consegui implementar no restore, alguem pode me ajudar nisso?
String exec = "pg_dump.exe ....";
ProcessBuilder builder = new ProcessBuilder(exec);
builder.redirectErrorStream(true);
builder.environment().put("PGPASSWORD", "sua senha do banco");
Process process = builder.start();
pg_restore: conectando ao banco de dados para restaura��o
pg_restore: [arquivador (bd)] conex�o com banco de dados "os_troca_mercadoria" falhou: FATAL: banco de dados "os_troca_mercadoria" n�o existe