falha ao iniciar o postgresql quando usado com o vagrant

falha ao iniciar o postgresql quando usado com o vagrant

Tentando iniciar o postgresql em uma VM Virtualbox gerenciada pelo Vagrant, tenho o seguinte erro:

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

```

Responder1

Isso acontece quando o diretório de dados do postgresql está em uma pasta compartilhada do Vagrant ( /vagrantpor exemplo), e o host do Vagrant é o Windows. Nesse caso, as permissões não podem ser definidas no modo unix.

Mova essa pasta para outro local (o diretório inicial do usuário vagrant, por exemplo) e o postgresql será iniciado.

Solução encontrada em:https://gitlab.com/gitlab-org/gitlab-development-kit/issues/20

Responder2

A causa subjacente para isso é que o vboxsf não suporta links de sistemas de arquivos (nem físicos nem simbólicos). Você pode reproduzir o problema montando uma pasta Host dentro de um convidado do VirtualBox e tentando fazer o seguinte: ln /path/to/mounted/share/existingfile.txt /some/path/link-to-file.txt

por exemplo (com /var/data montado como um compartilhamento 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

Existem vários ingressos para isso em virtualbox.org (#818,#10085), mas como eles remontam a 7 anos, pode demorar mais um pouco até que seja consertado!

informação relacionada