pg_upgrade oldbindir проверка не удалась

Я пытаюсь обновить базу данных postgresql с 9.1 до 9.4. Я запустил 9g версию pg_upgrade следующим образом:

sudo -u postgres pg_upgrade -b <path>/postgres/9.1/bin -B <path>/postgres/9.4/bin -d <path>/9.1DBs/ -D <path>/<empty folder>

Я получил:

check failed for: <path>/postgres/9.1/bin Permission denied

Папка существует, я установил права доступа 777, даже дал пользователю postgres право собственности на структуру каталогов, но я все еще получаю ту же ошибку.

Работа в подробном режиме не дает никакой дополнительной информации. Раздел, содержащий старые двоичные файлы, смонтирован в /media/, и у меня есть права на чтение / запись.

Есть идеи, что может быть причиной этого?

1 ответ

Решение

Эта ошибка

Не удалось проверить: /postgres/9.1/bin Отказано в доступе

происходит потому, что права доступа к каталогам (x бит) необходимо установить в каждом каталоге в иерархии, от корня до каталога, содержащего эти исполняемые файлы.

Это подробно описано в Unix.SE:

Имеют ли значение разрешения родительского каталога при доступе к подкаталогу?

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