2012-05-25 60 views
2

這莫名其妙我(試圖建立的Postgres在MacOS獅子):的Postgres不能訪問服務器配置文件:權限被拒絕

delirium:$ sudo ls -al /usr/local/pgsql/data/ 
total 64 
drwx------ 15 postgres postgres 510 25 May 10:36 . 
[email protected] 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

這是一個超級用戶或ServerFault問題,而不是StackOverflow的一個... – aleroot

+0

對不起,我可以遷移至ServerFault如果你喜歡... – flossfan

+0

你執行命令爲user = postgres? – wildplasser

回答

2

診斷權限被拒絕錯誤的最快方法是以該用戶身份登錄(susudo)並嘗試cat該文件。

如果這被拒絕的權限,而不是文件找不到,我猜Postgres的用戶還沒有登上父目錄的一個執行權限,它可以是任何的3:/usr/local/pgsql/

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

......假設Postgres的成立,默認用戶postgres