2013-05-30 3 views
2

Мой вопрос похож на этот one, но в Linux Mint 15 (Ubuntu). Я попробовал стандартный COPY (который я использовал в Windows, все время):COPY FROM CSV to 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 проблема.

Update

ли это что-нибудь сделать с this?

Как всегда, спасибо всем

ответ

2

Для Permissions в CSV (Right 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

Во-первых, не подключайтесь к Postgres как postgres, если только не выполните начальную настройку admin. Во-вторых, скажите файл любому пользователю, с которым вы подключаетесь.Если вы не можете 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 может 30 12: 39', и я все еще получаю ту же ошибку в' Postgres'. Означает ли это, что это принадлежит пользователю 'zach' и group' zach'? – Zach

Смежные вопросы