我正在尝试启动该服务,但它没有启动...它显示:
.....] 启动 PostgreSQL 9.6 数据库服务器:main[....] PostgreSQL 服务器无法启动。请检查日志输出: 2016-10-25 15:24:26 BDT [4118-1] LOG:无法创建 IPv6 套接字:权限被拒绝 2016-10-25 15:24:26 BDT [4118-2] LOG:无法创建 IPv4 套接字:权限被拒绝 2016-10-25 15:24:26 BDT [4118-3] 警告:无法为“localhost”创建监听套接字 2016-10-25 15:24:26 BDT [4118-4] 严重错误:无法创建任何 TCP/IP 套接字 2016-10-25 15:24:26 BDT [4118-5] LOG:da[FAILe 系统已关闭...失败!失败!
日志文件:
2016-10-25 15:25:41 BDT [4330-1] LOG: could not create IPv6 socket: Permission denied
2016-10-25 15:25:41 BDT [4330-2] LOG: could not create IPv4 socket: Permission denied
2016-10-25 15:25:41 BDT [4330-3] WARNING: could not create listen socket for "localhost"
2016-10-25 15:25:41 BDT [4330-4] FATAL: could not create any TCP/IP sockets
2016-10-25 15:25:41 BDT [4330-5] LOG: database system is shut down
我应该怎么办?
答案1
该permission denied
消息意味着两件事之一 - 您正在使用的用户帐户没有权限运行请求的程序,如果您以 root 身份登录,则请记住使用sudo
。
第二个意思是该端口或资源当前正在被另一个程序使用。
在日志文件中,我们看到守护进程无法打开软件试图使用的端口:
2016-10-25 15:25:41 BDT [4330-1] LOG: could not create IPv6 socket: Permission denied
2016-10-25 15:25:41 BDT [4330-2] LOG: could not create IPv4 socket: Permission denied
2016-10-25 15:25:41 BDT [4330-3] WARNING: could not create listen socket for "localhost"
2016-10-25 15:25:41 BDT [4330-4] FATAL: could not create any TCP/IP sockets
2016-10-25 15:25:41 BDT [4330-5] LOG: database system is shut down
这表明它正在被另一个进程使用。
正如评论中提到的,尝试使用:
sudo netstat -tulpn
和
sudo lsof -i
查看是否有其他服务尝试使用机器上的同一端口。如有必要,请更改 PosgreSQL 使用的端口,此问题应可自行解决。
答案2
你很可能正在运行CONFIG_ANDROID_PARANOID_NETWORK
内核中启用了的android
尝试将postgres
用户添加到这些组:aid_bt aid_bt_net aid_inet aid_net_raw aid_admin
usermod -a -G aid_bt,aid_bt_net,aid_inet,aid_net_raw,aid_admin postgres
预先创建这些组:
groupadd -g 3001 aid_bt
groupadd -g 3002 aid_bt_net
groupadd -g 3003 aid_inet
groupadd -g 3004 aid_net_raw
groupadd -g 3005 aid_admin