Ir para conteúdo
Fórum Script Brasil
  • 0

Criar database e fazer restore do banco de dados PostgreSQL


dimaum1001

Pergunta

Boa tarde, desenvolvi um projeto java desktop onde utilizo PostgreSQL, e agora vou distribuir essa aplicação utilizando Inno Setup, consigo fazer a instalação silenciosa do PostgreSQL, instalo meu aplicativo, mas quando vou criar uma database e restaurar o banco de dados na máquina do cliente fica pedindo a senha do banco de dados. Criei um arquivo .bat para fazer isto. 
Gostaria de saber se existe outra maneira para criar o banco de dados e restaurar sem ficar pedindo para o usuário digitar a senha do banco.
meu código do arquivo .bat é esse:

@Echo off

set superaccount=postgres
set superpassword=postgres

set caminho=%~f1
set caminho_backup=%~f2

c:
cd \
cd C:\Program Files\PostgreSQL\9.3\bin

@echo "Aguarde enquanto o banco de dados é atualizado..."

psql -U postgres -c "create database sade"

pg_restore.exe -i -h localhost -p 5432 -U postgres -d sade -v "C:\SADE 320\sade.backup"

pause

 
Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Já tentou definir a variável de ambiente  PGPASSWORD como abaixo?

set PGPASSWORD=senha

Ou usar -w ou --no-password diretamente na linha do pg_restore:

pg_restore.exe -i -h localhost -p 5432 -U postgres -w -d sade -v "C:\SADE 320\sade.backup"

Veja aí se alguma das duas tentativas dá certo.

Abraços!

 

 

 

Link para o comentário
Compartilhar em outros sites

  • 0

Fiz o teste aqui no meu e não pede senha. Mas lembrei de outro detalhe, sempre gravo a senha através do PgAdmin III, por isso acho que ele não pede. Você pode então tentar fazer o mesmo, criando um arquivo chamado "pgpass.conf" em "c:\Users\NOMEDOUSUÁRIO\AppData\Roaming\postgresql" (onde NOMEDOUSUÁRIO é a pasta com o nome do usuário do Windows) com o conteúdo:

localhost:5432:*:postgres:SENHA

Ou simplesmente abrir o PgAdmin III e conectar no banco armazenando a senha.

Veja aí se dá certo.

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Gravei este arquivo "pgpass.conf" e mesmo assim na hora de executar o meu arquivo .bat continua pedindo a senha, existe algum outro script será para fazer esta configuração ?

Abrindo p pgAdmin III e conectando no banco armazenando a senha e depois executando meu arquivo eu consegui fazer, não pediu a senha, mas tem algum jeito de fazer isso sem que o usuário precise digitar a senha da primeira vez  ? 

Editado por dimaum1001
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...