最近从Postgresql 9.1 更新为 9.3 。
一切正常,但是当我输入时我注意到了:
sudo -u postgres psql
我遇到了权限被拒绝错误,将dir更改为root。
“无法将目录更改为/ home / root。
然而,当我使用:
sudo su - postgres
psql
它访问得很好。我怎样才能解决这个问题?
答案 0 :(得分:11)
将目录更改为postgres有权访问的地方:
cd /tmp
sudo -u postgres psql
答案 1 :(得分:2)
试试这个:
sudo -i -u postgres psql
这完成了(几乎)和你的
相同的事情sudo su - postgres
上面的-
表示您要使用postgres帐户的环境。如果您移除-
,它将与sudo -u
-i
表示您要运行postgres帐户的登录shell(因此cd
到他们的主目录)。
答案 2 :(得分:0)
这对我来说很成功(否则您会得到could not change directory to "/root": Permission denied
),请注意引号(')
sudo -Hiu postgres 'pg_dump --column-inserts --data-only --table=someTable entities_db > /var/backups/anywhere/$(date +%Y%m%d_%H%M%S)_someTable.sql'
请注意-Hiu
用于sudo,或使用su - postgres
您还可以使用crontab -e
将其放在cronjob的root目录中