Postgres Tips: Arquivo de senha – pgpass

Posted on agosto 27, 2011. Filed under: PostgreSQL, Tips |

Alguns dias atrás precisei criar um script automático (shell script) de backup/restore de uma base do postgres. Os comandos que usei foram o pg_dump, para criar o backup, e psql para restaurar backup quando necessário. O banco de dados estava com as permissões de acesso configurado para solicitar senha, até mesmo se logado com o usuário postgres, o quê não acontece normalmente. Normalmente o usuário postgres acessa o banco sem a necessidade de solicitar a senha de acordo com a configuração padrão no pg_hba.conf. Os comandos do postgres, pg_dump, psql, etc.. não permitem especificar a senha através da linha de comando. Se você esta acostumado com o MySQL vai perceber a diferença. O postgres força o usuário à criar um ambiente seguro, não permitindo a especificação da senha na linha de comando como acontece nos comandos do MySQL. (mysqldump, mysql, etc.)

O postgres disponibiliza um mecanismo seguro para que você possa utilizar os comandos sem que eles solicitem a entrada de senha na linha de comando, ideal para scripts automatizados, através do arquivo .pgpass. Crie o arquivo .pgpass no seu diretório home com a permissão 0600:

$ chmod 0600 ~/.pgpass

O formato do arquivo .pgpass é o seguinte:

hostname:port:database:username:password

Exemplo:

localhost:5432:base:foo:mudar123

Agora você pode rodar os comandos do postgres sem necessidade de entrar com a senha no prompt:

$ pg_dump -c -U foo base> ~/base.sql
$ psql -U foo -d base < ~/base.sql

Make a Comment

Deixe uma resposta para Marcelo Cancelar resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

4 Respostas to “Postgres Tips: Arquivo de senha – pgpass”

RSS Feed for Pasqua Tecnologia Comments RSS Feed

Amigo, ninguém comentou ainda aqui, por isso quero te dar os parabéns pelo post.

Obrigado

Thanks 😉

Tem como rodar no Windows?

Olá Marcelo,

Tem como rodar no Windows sim. O arquivo fica localizado em:
%APPDATA%\postgresql\pgpass.conf

Abra o prompt de comando do windows e:

> cd %APPDATA%\postgresql
> notepad pgpass.conf

Boa sorte!


Where's The Comment Form?

Liked it here?
Why not try sites on the blogroll...

%d blogueiros gostam disto: