postgres无法访问服务器配置文件:权限被拒绝

时间:2012-05-25 09:42:46

标签: postgresql osx-lion postgresql-9.1

这令我感到困惑(试图在MacOS Lion上设置postgres):

delirium:$ sudo ls -al /usr/local/pgsql/data/
total 64
drwx------  15 postgres  postgres    510 25 May 10:36 .
drwxr-xr-x@ 13 103       103         442 25 May 10:35 ..
-rw-------   1 postgres  postgres      4 25 May 10:36 PG_VERSION
drwx------   5 postgres  postgres    170 25 May 10:36 base
drwx------  41 postgres  postgres   1394 25 May 10:36 global
drwx------   3 postgres  postgres    102 25 May 10:36 pg_clog
-rw-------   1 postgres  postgres   3652 25 May 10:36 pg_hba.conf
-rw-------   1 postgres  postgres   1631 25 May 10:36 pg_ident.conf
drwx------   4 postgres  postgres    136 25 May 10:36 pg_multixact
drwx------   2 postgres  postgres     68 25 May 10:36 pg_stat_tmp
drwx------   3 postgres  postgres    102 25 May 10:36 pg_subtrans
drwx------   2 postgres  postgres     68 25 May 10:36 pg_tblspc
drwx------   2 postgres  postgres     68 25 May 10:36 pg_twophase
drwx------   4 postgres  postgres    136 25 May 10:36 pg_xlog
-rwxr-xr-x   1 postgres  postgres  16879 25 May 10:36 postgresql.conf
delirium:$ /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
postgres cannot access the server configuration file "/usr/local/pgsql/data/postgresql.conf": Permission denied

输出是否表明postgres是postgresql.conf所有者?那么为什么它不能访问该文件呢?

我该怎么办?

2 个答案:

答案 0 :(得分:2)

诊断权限被拒绝错误的最快方法是以该用户身份登录(susudo)并尝试cat该文件。

如果这是权限被拒绝而没有找到文件,我猜测postgres用户没有获得其中一个父目录的执行权限,它可能是3中的任何一个:/usr/local/pgsql/

答案 1 :(得分:0)

sudo -u postgres /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data

...假设postgres设置了默认用户postgres