我正在尝试在Redhat中设置Postgres。我执行以下步骤:
$ sudo yum install postgresql-server postgresql-contrib
已成功安装。然后我尝试建立一个数据库集群。
$ initdb -D /usr/local/pgsql/data
我收到错误:
initdb: could not access directory "/usr/local/pgsql/data": Permission denied
Linux新手。无法前进
找出解决方案。我转到指定的文件夹并更改了其访问权限。之后它起作用了。
答案 0 :(得分:2)
PostgreSQL documentation指出/usr/local/pgsql/data
目录需要由postgres
用户拥有。
为此,您可以运行以下命令:
chown postgres /usr/local/pgsql/data
如果这不起作用,您可能还需要使用sudo
:
sudo chown postgres /usr/local/pgsql/data
答案 1 :(得分:0)
您正在以超级用户身份运行第一个命令,第二个命令以普通用户身份运行。尝试
sudo initdb -D /usr/local/pgsql/data
答案 2 :(得分:0)
安装postgre时,我使用了
su - postgres
以root权限连接到特定用户。然后,以下内容返回成功
/usr/pgsql-9.5/bin/initdb