【发布时间】:2017-03-23 12:45:04
【问题描述】:
我正在尝试在全新安装的 Ubuntu 16.04 的辅助卷上设置 postgres 表空间。我的主卷上只有 60GB,我需要恢复一个 ~55GB 的数据库。我正在使用全新安装的 postgresql-9.5。
我让用户 postgres 成为超级管理员,这样它就可以随意 chmod(我知道不建议这样做,但我有点绝望了)。
sudo usermod -aG sudo postgres
作为用户 postgres,我做了以下事情。
我在辅助驱动器上创建了一个文件夹(名为 postgres_data)并将所有者设置为 postgres。
postgres@Eli:/media/rp3/ExtraDrive1$ ls -lisa
total 28
2 4 drwxrwxrwx+ 4 root root 4096 Nov 9 07:46 .
262146 4 drwxr-x---+ 3 root root 4096 Nov 9 05:39 ..
11 16 drwx------ 2 root root 16384 Nov 2 08:14 lost+found
10485761 4 drwxrwxr-x 3 postgres postgres 4096 Nov 9 07:46 postgres_data
然后我创建了一个嵌套文件夹(命名数据),它也归 postgres 所有。我这样做是因为我读到用户 postgres 不仅必须拥有我想要表空间所在的文件夹,还必须拥有包含该文件夹的文件夹。
postgres@Eli:/media/rp3/ExtraDrive1/postgres_data$ ls -lisa
total 12
10485761 4 drwxrwxr-x 3 postgres postgres 4096 Nov 9 07:46 .
2 4 drwxrwxrwx+ 4 root root 4096 Nov 9 07:46 ..
10485762 4 drwxrwxr-x 2 postgres postgres 4096 Nov 9 07:46 data
我以用户 postgres 连接到 postgres 并尝试创建表空间:
create tablespace mappify_data location '/media/rp3/ExtraDrive1/postgres_data/data';
但我遇到了权限错误:
create tablespace mappify_data location '/media/rp3/ExtraDrive1/postgres_data/data';
我尝试使用 chmod 700 更改权限,使用 chown 将所有权更改为 postgres:postgres,并将文件夹创建为用户 postgres,但都产生相同的结果。
如果我能得到任何建议,我将不胜感激。我束手无策:(
【问题讨论】:
标签: database postgresql permissions ubuntu-16.04