Postgresql无法使用-u快捷方式更改为root

时间:2016-03-03 20:29:43

标签: linux postgresql

最近从Postgresql 9.1 更新为 9.3

一切正常,但是当我输入时我注意到了:

sudo -u postgres psql

我遇到了权限被拒绝错误,将dir更改为root。

  

“无法将目录更改为/ home / root。

然而,当我使用:

sudo su - postgres 
psql

它访问得很好。我怎样才能解决这个问题?

3 个答案:

答案 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目录中