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表空间

ORACLE 无法访问表空间

PostgreSQL 服务器启动失败,无法创建锁定文件:权限被拒绝

ORA-01950: 对表空间 'USERS' 没有权限 [关闭]

DB2SQL1585N 由于没有具有兼容页面大小的可用系统临时表空间,因此无法创建临时表。SQLSTATE=54048

Oracle创建用户和表空间后在Navicat中看不到,也不能连接