Восстановление файла.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"
буду работать.