PostgreSQL ALTER 命令-权限被拒绝-环境问题

PostgreSQL ALTER 命令-权限被拒绝-环境问题

我正在尝试运行一行 PostgreSQL 命令来更改用户密码。我遇到了一个错误,似乎在任何地方都找不到解决方案。

root@linux:~# sudo -u postgres psql -c "ALTER USER myuser WITH PASSWORD 'myc00lpassword';"
could not change directory to "/root": Permission denied

我读到权限被拒绝错误是因为 postgres 用户对目录 /root 没有任何权限(因为我以 root 身份运行此命令)。

说得通。

那么我该如何修改命令,以便当我使用 sudo 时,它会采用 postgres 的环境?

我努力了:

root@linux:~# sudo su - postgres psql -c "ALTER USER myuser WITH PASSWORD 'myc00lpassword';"
psql: ALTER: command not found

and

root@linux:~# su - postgres psql -c "ALTER USER myuser WITH PASSWORD 'myc00lpassword';"
psql: ALTER: command not found

相关内容