PostgreSQL /data 文件的权限应该是什么?

Bry*_*ock 4 postgresql unix permissions mac-osx

我从 osX 二进制文件安装了 Postgres 9.3。
当我尝试使用 pg_ctl restart 重新启动时,收到以下错误:

$ pg_ctl restart
pg_ctl: could not open PID file "/Library/PostgreSQL/9.3/data/postmaster.pid": Permission denied

Bryan@bryans-mbp Fri Jun 13 13:41:24 ~   
$ sudo ls -la /Library/PostgreSQL/9.3/data/postmaster.pid  
Password:  
-rw-------  1 postgres  daemon  75 Jun 11 10:36 /Library/PostgreSQL/9.3/data/postmaster.pid  
Run Code Online (Sandbox Code Playgroud)

谁应该拥有这个文件,权限应该是什么?

Eir*_*oft 5

权限是正确的,因为您希望所有数据文件和其他相关内容都归postgres用户所有。我认为这里的问题是postgres守护进程没有以postgres用户身份运行。

要检查 postgres 守护程序(postmaster)正在以哪个用户身份运行,请运行:

大多数 *NIX(如 Solaris):

ps -ef | grep postgres
Run Code Online (Sandbox Code Playgroud)

Linux

ps aux | grep postgres
Run Code Online (Sandbox Code Playgroud)

确保以 root 身份运行:

sudo -u postgres pg_ctl -D /Library/PostgreSQL/9.3/data start
Run Code Online (Sandbox Code Playgroud)

调整必要的路径pg_ctlsudo