这就是我输入的内容:
user@user-computer:/usr/lib/postgresql/9.4/bin$ ./postgres -D /etc/postgresql/9.4/main/
这就是我得到的:
[4173-1] FATAL: could not access private key file "/etc/ssl/private/ssl-cert-snakeoil.key": Permission denied
任何人都可以帮助我吗?我应该更改ss-cert ...密钥文件的权限吗?
答案 0 :(得分:3)
错误的发生是因为您尝试将PostgreSQL作为您自己的非特权用户启动,并且它并不意味着像那样运行。
Ubuntu以一种应该使用以下方式启动的方式提供PostgreSQL:
$ sudo /etc/init.d/postgresql start
# or
$ sudo service postgresql start
或使用pg_ctlcluster
进行更细粒度的控制,请参阅
http://manpages.ubuntu.com/manpages/trusty/man8/pg_ctlcluster.8.html
答案 1 :(得分:0)
当postgres
用户不属于ssl-cert
用户组时,可能会发生这种情况
尝试将postgres
用户添加到论坛ssl-cert
确保postgres
是/var/lib/postgresql/version_no/main
的所有者
例如:sudo chown postgres -R /var/lib/postgresql/9.6/main/
运行以下代码以修复用户组问题并修复权限
# > It happened to me and it turned out that I removed erroneously the postgres user from "ssl-cert" group, set it back with
sudo gpasswd -a postgres ssl-cert
# Fixed ownership and mode
sudo chown root:ssl-cert /etc/ssl/private/ssl-cert-snakeoil.key
sudo chmod 740 /etc/ssl/private/ssl-cert-snakeoil.key
# now postgresql starts! (and install command doesn't fail anymore)
sudo service postgres restart
#also try running pg_ctlcluster <version> <cluster> <action>
sudo pg_ctlcluster 9.6 main start
courtsey加入GabLeRoux