Я получаю очень странное поведение формы PostgreSQL 9.4.4 на Fedora 22:Postgresql имеет разрешение на файл, но говорит, что это не
Я пытаюсь запустить этот запрос из psql
:
su - postgres
psql dbName
COPY sometable FROM '/the/file/location.csv' WITH DELIMITER AS ',' CSV;
и он дает мне эту ошибку:
could not open file "/the/file/location.csv" for reading: Permission denied
Однако, если я делаю это:
su - postgres
nano /the/file/location.csv
Он открывает файл по назначению, потому что весь путь имеет разрешение на чтение/выполнение для всех пользователей.
Кто-нибудь знает, почему это происходит?
EDIT: Я теперь даже зашли так далеко, пытаясь переместить файлы в /tmp/file.csv
, меняя владельца файлов на postgres
и отключать SELinux. По-прежнему такая же ошибка.
EDIT 2: Я забыл упомянуть, что это установка «Мастер-ведомый», где я являюсь SSHing в Master с сервера Slave. В противном случае установка работает нормально.
EDIT 3: Я беру обратно то, что я изначально сказал. Исправлена проблема с отключением SELinux. Теперь мне нужно выяснить способ его использования, чтобы исправить это правильно.
Что пользователь является * сервер Postgres * работает как? По общему признанию, можно было бы ожидать, что он будет «postgres», но поведение предполагает иное. –
Вы имеете в виду процесс '/ usr/bin/postgres -D/var/lib/pgsql/data' в' ps aux'? Он работает как «postgres». – TimY
Работает ли ваша база данных на той же машине, что и ваш интерфейс psql? – wildplasser