我一直在试图在postgresql 9.5中创build一个表空间,我一直在拒绝权限问题。 我终于决定了我要创build一个目录来看看我能不能find工作,但目前还没有运气。
以供参考:
[root@server ~]# cd / [root@server /]# mkdir test [root@server /]# chown postgres:postgres test [root@server /]# su postgres bash-4.3$ psql psql (9.5.5) Type "help" for help. postgres=# CREATE TABLESPACE test LOCATION '/test'; ERROR: could not set permissions on directory "/test": Permission denied postgres=# \q bash-4.3$ cd test bash-4.3$ chmod 777 . bash-4.3$ ls -alh total 8.0K drwsrwsrwx. 2 postgres postgres 4.0K Jan 27 20:15 . dr-xr-xr-x. 19 root root 4.0K Jan 27 20:15 .. bash-4.3$ pwd -P /test bash-4.3$ psql psql (9.5.5) Type "help" for help. postgres=# CREATE TABLESPACE test LOCATION '/test'; ERROR: could not set permissions on directory "/test": Permission denied
我甚至给了目录777,这显然是由postgres拥有。 在这一点上,我不知道该怎么做才能使这个工作。 我正在运行fedora-25。 理想情况下,我不希望把它放在/实际上放在一个单独的磁盘,但我甚至不能得到这个基本的情况下工作。 我在这里错过了很明显的东西吗
你已经启用了SELinux,并且错过了它阻止了这个。
您可以在审计日志/var/log/audit/audit.log看到日志条目。
解决这个问题最简单的方法是使用默认的数据目录位置/var/lib/pgsql ,而不是试图覆盖它。 而是把你的存储安装在这个位置。