2013-05-30 36 views
2

我的問題類似於這個one,但在Linux Mint 15(Ubuntu)中。我已經試過了標準COPY(我在Windows上使用的所有的時間):從CSV複製到Postgres在Ubuntu

COPY public.bio FROM 'tmp/sisinst_bio.csv' DELIMITERS '|' CSV;

我收到此錯誤:

ERROR: could not open file "/tmp/sisinst_bio.csv" for reading: Permission denied

數據庫的擁有者和使用者是postgres

試圖

(1)創建是一樣的我的用戶帳戶的Ubuntu(zach)用戶,並更改數據庫的所有者。

(2)移動CSV到Ubuntu
的各個部分

sudo cp -r /home/zach/Documents/Postgres91/sisinst_postgresql_bio_test.csv /usr/share/postgresql/9.1

sudo cp -r /home/zach/Documents/Postgres91/sisinst_postgresql_bio_test.csv /tmp

這是很容易的,但我堅持。我不確定這是Postgresql還是Ubuntu問題。

更新

這是否有什麼關係this

一如既往,感謝所有

回答

2

對於PermissionsCSVRight Click - >Properties - >Permissions),該Others設置到None

要解決此問題,以便Postgres用戶可以使用它,我將Others更改爲Read-only哪些工作。

最終,Postgres用戶可能會更好Group,但在這一點上超過了我。

我接受更好的答案。

0

使用ls -l /tmp/sisinst_bio.csv看到該文件的權限是什麼。有機會,你會看到類似-rw-------的東西,這意味着它可以被所有者讀取和寫入,但其他人無法讀取。

如果是這樣的話,嘗試使CSV文件基和世界可讀,使用:

chmod g+r,o+r /tmp/sisinst_bio.csv 
+0

你對'-rw -------'正確,但是'chmod g + r,o + r/tmp/sisinst_bio.csv'給了我這個錯誤:
'chmod: /tmp/sisinst_bio.csv':不允許操作'。 – Zach

+0

首先,除非執行初始設置admin,否則不要將Postgres連接到postgres。其次,將文件分配給您連接的任何用戶。如果你不能chown或者chmod文件,你可能不得不sudo chown,或者把它複製到一個你可以控制的新位置(如果Mint 15有一個特殊的陷阱機制/ tmp--可能是這種情況)。 – zxq9

+0

好吧,我已經使用[chown](http://www.cyberciti.biz/faq/how-to-use-chmod-and-chown-command/)更改了文件的所有權。我還在Postgres('zach')中使用了一個新用戶。我運行'ls -l/home/zach/Documents/Postgres91/sisinst_bio.csv'。該文件以這種方式擁有:'-rw-rw ---- 1 zach zach 90722 may 30 12:39'並且我在'Postgres'中仍然收到相同的錯誤。這是否意味着它由用戶'zach'和組'zach'擁有? – Zach