我无法在 Ubuntu 22.04 上全新安装的 Postgres 15.3 上创建新表空间。到目前为止我尝试了以下操作:
- 重新安装Postgres
- 全面放宽文件系统权限
- 禁用 SELinux
但 postgres 用户仍然报告它无法设置表空间文件夹的权限。日志如下。
$ mkdir -p /media/user/Work/Databases/geo
$ chown -R postgres:postgres /media/user/Work/Databases
$ sudo chmod -R 777 /media/user/Work/Databases
$ setenforce 0
setenforce: SELinux is disabled
$ sestatus
SELinux status: disabled
$ sudo su postgres
postgres@luis-workstation:/home/user$ psql
could not change directory to "/home/user": Permission denied
psql (15.3 (Ubuntu 15.3-1.pgdg22.04+1))
Type "help" for help.
postgres=# CREATE TABLESPACE geo
OWNER postgres
LOCATION '/media/user/Work/Databases/geo';
ERROR: could not set permissions on directory "/media/user/Work/Databases/geo": Permission denied
PostgreSQL坚持改变目录的权限。这相当于以操作系统用户身份运行以下命令
postgres
:因此,您应该会收到有关缺少权限的相同错误消息。
用户
postgres
必须拥有geo
:此外,用户必须对层次结构中的所有
r
目录具有读取 ( ) 和执行 (x
) 权限。例如: