这令我感到困惑(试图在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
的所有者?那么为什么它不能访问该文件呢?
我该怎么办?
答案 0 :(得分:2)
诊断权限被拒绝错误的最快方法是以该用户身份登录(su
或sudo
)并尝试cat
该文件。
如果这是权限被拒绝而没有找到文件,我猜测postgres用户没有获得其中一个父目录的执行权限,它可能是3中的任何一个:/usr/local/pgsql/
答案 1 :(得分:0)
sudo -u postgres /usr/local/pgsql/bin/postgres -D /usr/local/pgsql/data
...假设postgres设置了默认用户postgres