Недавно я приобрел новый жесткий диск с единственной целью хранения базы данных. Я использую Ubuntu 10.0.4.
Поскольку я раньше такого не делал, я решил использовать графический интерфейс (Дисковая утилита) для форматирования и монтирования диска (чтобы избежать каких-либо ошибок, вызванных опечатками и т. Д. В командной строке).
Я правильно определил новый диск и действовал следующим образом:
после форматирования устройства Затем я смонтировал устройство следующим образом:
sudo mount /dev/sdb /mydata
Я создал каталог / mydata / pgdbdata
и изменил владельца следующим образом
sudo chown -R postgres:postgres /mydata/pgdbdata
Я проверяю: [ 1116]
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
Однако, когда я перехожу на пользователя postgres:
username@localhost:~$ sudo su - postgres
postgres@localhost:~$ ls -l /mydata/
ls: cannot open directory /mydata/: Permission denied
Из-за этой проблемы с разрешениями я могу запустить службу postgresql и не могу создать кластер postgresql db. Я застрял.
Что я делаю не так?
Вы изменили только разрешение на pgdbdata
, но не на mydata
, вы должны иметь возможность сделать ls -l /mydata/pgdbdata
, но если ваш пользователь postgresql хочет видеть содержимое mydata
, он должен иметь доступ для чтения к нему. тоже.