Назад | Перейти на главную страницу

не удается запустить postgresql при использовании с vagrant

При попытке запустить postgresql на виртуальной машине Virtualbox, управляемой Vagrant, возникает следующая ошибка:

LOG:  could not link file "pg_xlog/xlogtemp.29" to "pg_xlog/000000010000000000000001" (initialization of log file): Operation not permitted
FATAL:  could not open file "pg_xlog/000000010000000000000001": No such file or directory

`` ''

Это происходит, когда каталог данных postgresql находится в общей папке Vagrant (/vagrant например), а хост Vagrant - это Windows. В этом случае разрешения не могут быть установлены способом unix.

Переместите эту папку в другое место (например, в домашний каталог бродячего пользователя), и запустится postgresql.

Решение найдено по адресу: https://gitlab.com/gitlab-org/gitlab-development-kit/issues/20

Основная причина этого в том, что vboxsf не поддерживает ссылки на файловую систему (ни жесткие, ни символические). Вы можете воспроизвести проблему, установив папку хоста внутри гостевой системы VirtualBox и попытавшись сделать следующее: ln /path/to/mounted/share/existingfile.txt /some/path/link-to-file.txt

например (с / var / data, установленным как общий ресурс vboxsf) jim@a55a005fc5a5:/~ ln /var/data/foo.txt ~/data/link-to-foo ln: failed to create hard link ‘/users/jim/data/link-to-foo’ => ‘/var/data/foo.txt’: Operation not permitted

На virtualbox.org есть множество билетов (# 818, # 10085) но, учитывая, что они вернулись на 7 лет назад, может пройти еще одно время, прежде чем это будет исправлено!