Postgres /root”:权限被拒绝

Postgres /root”:权限被拒绝

为什么在 ubuntu 14.10 上每次我尝试启动 postgres 时:

sudo -p 'sudo password: ' -u postgres /usr/lib/postgresql/9.4/bin/initdb -D /mnt/postgresql/9.4/data

显示这个:

无法将目录更改为“/root”:权限被拒绝 属于此数据库系统的文件将归用户“postgres”所有。此用户还必须拥有服务器进程。

initdb:无效的区域设置;检查 LANG 和 LC_* 环境变量

答案1

输出分为三部分:

  1. 无法将目录更改为“/root”:权限被拒绝:您的“sudo”成功,但您的 postgres 用户无法访问 root 的主目录。您可以在 /etc/passwd 中检查 postgres 的主目录设置。

  2. 属于此数据库系统的文件将归用户“postgres”所有。此用户还必须拥有服务器进程。:这是来自 initdb 的正常权限提醒。因此,无论目录更改是否失败,您都知道 initdb 已启动。

  3. initdb:无效的区域设置;检查 LANG 和 LC_* 环境变量:此处由于缺少区域设置,initdb 确实失败。

我认为您需要检查您的 sudo 配置并确保您的 postgres 用户在调用 initdb 之前具有适当的环境。

答案2

步骤1

stat -c "%G" .

第2步

sudo usermod -aG <the output from the step 1> postgres

df.tips/t/2063/2

相关内容