Восстановление файла.dump - "Отказано в доступе"

Я настраиваю веб-сайт и у меня возникли проблемы с восстановлением файла базы данных.dump. Я использую centos7, selinux, postgresql 9.4 и apache2.

Это мой файл pg_hba.conf.

введите описание изображения здесь

Это команда, которую я пытаюсь переместить в дамп:

psql --single-transaction -U postgres db_name < dump_location

Когда я делаю это, я получаю ошибку:

Доступ запрещен.

Я что-то упустил или мне нужно как-то изменить мои настройки? Дайте мне знать, если вам нужна дополнительная информация.

Спасибо!

2 ответа

Пользователь операционной системы, на котором вы запускаете оболочку, не имеет разрешения на чтение пути dump_location,

Обратите внимание, что это не обязательно пользователь операционной системы, который вы запускаете psql как. В заявлении, как:

sudo -u postgres psql mydb < /some/path

затем /some/path читается как текущий пользователь, доsudoне как пользователь postgresпотому что это оболочка, которая выполняет перенаправление ввода, а не psql,

Если в приведенном выше примере вы хотите прочитать файл как пользователь postgres ты бы:

sudo -u postgres psql -f /some/path mydb

Это инструктирует psql открыть и прочитать /some/path когда это началось.

Просто убедитесь, что вы используете правильного пользователя базы данных и у вас есть хотя бы разрешение на чтение файла дампа.

"psql -d -U postgres -f"

буду работать.

Другие вопросы по тегам