Você só alterou a permissão de pgdbdata
, mas não de mydata
, você deve conseguir fazer um ls -l /mydata/pgdbdata
, mas se o usuário do postgresql quiser ver o conteúdo de mydata
, ele precisa ter acesso de leitura a esse também.
Eu comprei recentemente um novo disco rígido, com o único propósito de armazenar um banco de dados. Estou executando o Ubuntu 10.0.4.
Como eu não tinha feito esse tipo de coisa antes, decidi usar a GUI (Disk Utility) para formatar e montar o disco (para evitar qualquer snarfus causado por erros de digitação etc na linha de comando).
Identifiquei corretamente a nova unidade e procedi da seguinte forma:
Quando o dispositivo foi formatado, montei o dispositivo da seguinte forma:
sudo mount /dev/sdb /mydata
Eu criei o diretório / mydata / pgdbdata
e alterou a propriedade da seguinte forma
sudo chown -R postgres:postgres /mydata/pgdbdata
Eu confiro:
username@localhost:~$ ls -l /mydata/
total 20
drwx------ 2 root root 16384 2012-06-19 23:05 lost+found
drwxr-xr-x 2 postgres postgres 4096 2012-06-20 19:04 pgdbdata
No entanto, quando mudo para o usuário postgres:
username@localhost:~$ sudo su - postgres
postgres@localhost:~$ ls -l /mydata/
ls: cannot open directory /mydata/: Permission denied
Devido a esse problema de permissões, posso iniciar o serviço postgresql e não posso criar o cluster db postgresql. Estou preso.
O que estou fazendo de errado?
Você só alterou a permissão de pgdbdata
, mas não de mydata
, você deve conseguir fazer um ls -l /mydata/pgdbdata
, mas se o usuário do postgresql quiser ver o conteúdo de mydata
, ele precisa ter acesso de leitura a esse também.