无法启动 postgresql 服务

无法启动 postgresql 服务

我正在尝试启动该服务,但它没有启动...它显示:

.....] 启动 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

相关内容