无法访问目录“/usr/local/pgsql/data”:权限被拒绝,同时尝试设置数据库集群

Dig*_*ali 5 linux postgresql redhat centos

我正在尝试在 Redhat 中设置 Postgres。我执行以下步骤:

$ sudo yum install postgresql-server postgresql-contrib
Run Code Online (Sandbox Code Playgroud)

它已成功安装。然后我尝试建立一个数据库集群。

$ initdb -D /usr/local/pgsql/data
Run Code Online (Sandbox Code Playgroud)

我收到错误:

initdb: could not access directory "/usr/local/pgsql/data": Permission denied
Run Code Online (Sandbox Code Playgroud)

Linux 新手。无法前进

想出了解决办法。我去了指定的文件夹并更改了其访问权限。在那之后它起作用了。

sum*_*mea 5

PostgreSQL文档指出,该/usr/local/pgsql/data目录需要由所拥有postgres的用户。

为此,您可以运行以下命令:

chown postgres /usr/local/pgsql/data
Run Code Online (Sandbox Code Playgroud)

如果这不起作用,您可能还需要使用sudo

sudo chown postgres /usr/local/pgsql/data
Run Code Online (Sandbox Code Playgroud)


TWh*_*lan 0

您以超级用户身份运行第一个命令,以普通用户身份运行第二个命令。尝试

 sudo initdb -D /usr/local/pgsql/data
Run Code Online (Sandbox Code Playgroud)