2016-11-09 36 views
1

我試圖在全新安裝的Ubuntu 16.04的輔助捲上設置postgres表空間。我的主卷只有60GB,我需要恢復〜55GB的數據庫。我使用的是全新安裝的postgresql-9.5。在postres中創建表空間時權限被拒絕

我讓用戶postgres超級管理員,以便它能夠chmod任何想要的(我知道這不是建議,但我有點絕望)。

sudo usermod -aG sudo postgres 

作爲用戶postgres,我做了以下。

我在我的輔助驅動器(名爲postgres_data)上創建了一個文件夾,並將所有者設置爲postgres。

[email protected]:/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必須擁有不僅僅是我想要表空間的文件夾,而是包含該文件夾的文件夾。

[email protected]:/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,將所有權更改爲postgres:使用chown postgres,並以用戶postgres的形式創建文件夾,但都產生相同的結果。

我會很感激我得到的任何建議。我在我束手無策:(

回答

0

是否與你的SELinux Linux上運行?我已閱讀線程問題出在哪裏了SELinux的。

我剛剛有了一個類似的問題,最終發現該錯誤的另一個可能原因所以在你的情況下,確保用戶postgres可以瀏覽目錄/ media/rp3/ExtraDrive1 /目錄的層次結構中的目錄,因此postgres沒有權限進入表空間的目錄之上的目錄

因此, postgres_data /。