2
我想使用www-data用戶訪問postgres。該命令由cli啓動。使用www-data和--host參數進行Postgres訪問
我的程序需要能夠推出這個命令:
psql --username www-data --host=127.0.0.1 --dbname=dbname
它完美地工作,如果我刪除主機= 127.0.0.1,不幸的是我使用第三方程序進行這個命令,我可以更改。
我的pg_hba.conf是標準 當地所有Postgres的同行
# TYPE DATABASE USER ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all peer
#host all www-data 127.0.0.1/32 md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
# IPv6 local connections:
host all all ::1/128 md5
在postgresql.conf裏,我把
listen_addresses = '*'
是的,它是不安全的,但我測試的一切。還不行的
在.pgpass
127.0.0.1:5432:*:www-data:password
我嘗試了所有方法:對,IDENT,MD5,密碼,我有錯誤每次。
該錯誤消息(法語):
FATAL: authentification par mot de passe ?chou?e pour l'utilisateur << www-data >>
mot de passe récupéré dans le fichier fichier « /var/www/.pgpass »
這意味着,通過密碼認證失敗,用戶WWW的數據。它還報告說它能夠從pgpass(/var/www/.pgpass)恢復密碼。
感謝您的幫助,我不知道該怎麼做。
什麼貓/var/www/.pgpass返回哪個第三方程序? –
如果您確定密碼,接下來要檢查的是它的有效性:'從pg_user中選擇valuntil,其中usename ='www-data''。主要是因爲相關的[pgadmin bug](http://stackoverflow.com/a/14566264/238814) –
第三方程序是Drush,Drupal的cli工具。對於valuntil,感謝提示,它是空的,既無窮大也不是1970. – user1753847