O uso da variável PGPASSWORD parece não funcionar mais no Postgresql 9.3

3

Em Posgresql, você pode definir uma variável chamada PGPASSWORD (e PGUSER ) para não precisar usar senha ao usar comandos postgresql, como psql ou pg_dump

Mas estou um pouco confuso porque não consigo fazer funcionar no Postgresql 9.3.10 e ele ainda está documentado em seu site como se funcionasse.

então comandos como

PGPASSWORD=password psql -l

não funcionará.

Também não posso declarar antes, como

PGUSER=root

PGPASSWORD=password

psql -l

Ele ainda pede senha (embora neste caso, ele use o usuário root como deveria)

A única maneira que eu consegui que funcionasse de alguma forma era fazendo o arquivo .pgpass mas ele só funciona quando se usa um banco de dados específico, o asterisco não funciona e ele só funciona com o pg_dump, nem todos os comandos postgresql como psql -l :

localhost:5432:*:root:password

Estas são as minhas configurações pg_hba.conf , se ajudar alguma:

local   all             root                                md5

    # TYPE  DATABASE        USER            ADDRESS                 METHOD

    # "local" is for Unix domain socket connections only
    local   all             all                                     peer
    # IPv4 local connections:
    host    all             all             127.0.0.1/32            md5
    # IPv6 local connections:
    host    all             all             ::1/128                 md5
    
por Ulukai 06.01.2016 / 23:59

1 resposta

1

A maneira de fazê-lo funcionar com todos os bancos de dados e comandos é adicionando o seguinte no arquivo .pgpass:

localhost:5432:dbname:user:password localhost:5432:*:user:password

Se você adicionar apenas a segunda linha, isso não funcionará. É necessário adicionar os dois.

Bizarro.

    
por 12.09.2016 / 15:24