Em que as permissões devem estar para o PostgreSQL / arquivos de dados?

3

Eu instalei o Postgres 9.3 do binário osX.
Quando tentei reiniciar usando o pg_ctl restart, recebi o seguinte erro:

$ pg_ctl restart
pg_ctl: could not open PID file "/Library/PostgreSQL/9.3/data/postmaster.pid": Permission denied

Bryan@bryans-mbp Fri Jun 13 13:41:24 ~   
$ sudo ls -la /Library/PostgreSQL/9.3/data/postmaster.pid  
Password:  
-rw-------  1 postgres  daemon  75 Jun 11 10:36 /Library/PostgreSQL/9.3/data/postmaster.pid  

Quem deve ser o proprietário deste arquivo e quais devem ser as permissões?

    
por BryanWheelock 16.06.2014 / 16:59

2 respostas

4

As permissões estão corretas, pois você deseja que todos os arquivos de dados e outras coisas associadas sejam de propriedade do usuário postgres . Acho que o problema aqui é que o daemon postgres não está sendo executado como o usuário postgres .

Para verificar em qual usuário o daemon postgres (postmaster) está sendo executado, execute:

Most * NIX (como o Solaris):

ps -ef | grep postgres

Linux

ps aux | grep postgres

Certifique-se de que, como root, você está executando:

sudo -u postgres pg_ctl -D /Library/PostgreSQL/9.3/data start

Ajuste os caminhos necessários para pg_ctl e sudo .

    
por 16.06.2014 / 18:10
0

No meu caso, a solução foi FIRST para mudar o usuário para o usuário postgres do nível do SO:

$ sudo su postgres

ENTÃO, para executar o comando de reinicialização:

$ pg_ctl restart
    
por 07.12.2017 / 08:27