Postgresql:由于权限无法创建表空间
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Postgresql:由于权限无法创建表空间相关的知识,希望对你有一定的参考价值。
我知道有十几次类似的问题,但我找不到对我有用的答案。
我有一台Debian 9机器,安装新的,我安装了Postgresql 9.6服务器。我正在尝试创建一个新的表空间但它失败了。命令 :
CREATE TABLESPACE newTableSPace LOCATION '/DATA/PostgreSQL/';
返回以下错误:
ERROR: could not set permissions on directory "/DATA/PostgreSQL": Permission denied
SQL state: 42501
因此,经过几次基础搜索,我已经检查了以下几点:
- 目录/ DATA / PostgreSQL存在
- 它的所有者/团体是postgres:postgres
- 目录上的权限是770
- SELinux显然没有安装(在Synaptic中,安装了libselinux1,但我尝试过的所有selinux命令都返回了“命令未找到”。例如:selinuxenabled,setenforce 0)。
我的想法已经不多了。
有人有建议吗?
答案
我刚刚找到了解决方案!
问题是用户postgres的权限不在目录/ DATA / PostgreSQL /上,而是在目录/ DATA上,它根本没有权限(它属于拥有权限770的当前用户)。
我已将此文件夹的权限更改为775.我想另一种方法是让用户postgres属于拥有DATA文件夹的组。
以上是关于Postgresql:由于权限无法创建表空间的主要内容,如果未能解决你的问题,请参考以下文章
PostgreSQL 服务器启动失败,无法创建锁定文件:权限被拒绝
ORA-01950: 对表空间 'USERS' 没有权限 [关闭]